表达 NeXTSTEP只使用一种格式,而稍晚的GNUstep和Mac OS X框架导入了不同的文件格式。 NeXTSTEP NeXTSTEP系统中,Plist被设计为人类可读的,并可以手工修改,故采用了类似于编程语言的语法将数据串行化为ASCII数据。 字符串被表示为: "This is a plist string" 二进制数据被表示为: < [文本形式的十六进制数]> 数组被表示为: ( "1", "2","3" ) 字典则被表示为: { "键" = "值"; ...} NeXT的plist格式的一个限制是它不能表示NSValue对象(即数,布尔值等)。 GNUstep GNUstep采用了NeXTSTEP的格式,并添加了少许特性。它支持NSValue对象(以普通ASCII码表示),支持NSDate(串行化成<*DYYYY-MM-DD HH:MM:SS timezone>的格式)。 GNUstep也可以读写Mac OS X使用的Plist格式。 Mac OS X Mac OS X在支持读取NeXTSTEP格式的同时,并不鼓励使用它,而是推荐使用Apple导入的两种新格式。 Mac OS X 10.0中,NeXTSTEP的格式被认为是不被推荐的,并导入了一种新的XML格式,其由Apple定义的公开DTD所规范化。XML格式支持非ASCII格式,亦可存储NSValue对象。但与GNUstep的ASCII plist格式不同,Apple的NeXTSTEP格式的plist文件不支持这两种特性。 由于XML文件在储存时不是最有空间效率的,Mac OS X 10.2导入了一种新的格式,它将plist文件存储为二进制文件。