表达
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格式。
MacOSX
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文件存储为二进制文件。从Mac OS X 10.4开始,这是偏好设置文件的默认格式。
plutil工具(在Mac OS X 10.2中导入)可以用来检查plist的语法,或者对plist文件进行格式转换。
可以使用任何文本编辑器对XML格式的plist进行更改,同时,Apple提供了“Property List Editor”应用程序(作为Apple Developer Tools的一部分安装),它是一个树状的查看器与编辑器,并可以处理二进制格式的plist。
defaults工具可以用于以命令行形式,通过程序的偏好设置域,管理用于储存偏好设置的plist文件;而Property List Editor则可以用于编辑任何plist文件(包括用于储存偏好设置的)。从Mac OS X 10.4开始,Apple提供了通过System Events应用程序读写plist文件的AppleScript接口,而从Mac OS X 10.5开始,Apple也提供了用于编辑,创建和写入plist文件的接口。
编辑工具
Mac环境
PlistEdit Pro
Mac系统的配置信息全面采用的是xml格式,不过它自己在其基础上定义了一个plist格式。其实就是定义了特别文件头的一个xml而已,暂时没有比较完善的xml条目阅读和编辑器,只能源码查看。但是对于plist来说,xcode开发工具就有一个plist编辑器,只不过功能非常少,还不能查找。
这个第三方软件Plistedit pro1.41就是一个加入了很多功能的plist编辑器,比xcode自带的不知道强了多少倍。
Window环境
plist Editor for windows
plist Editor一个MAC OS属性列表文件Windows系统下编辑工具,它允许用户编辑plist文件。
1.支持XML的格式和二进制格式的plist文件。
2.语法高亮。
3.正则表达式搜索/替换支持。
4.书签。
5.无限撤消支持。
6.PLIST syntex保存到磁盘之前。
7.Skinable,易于使用的用户界面。