表達
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,易于使用的用戶界面。