OS XCocoaNeXTSTEPGNUstep编程框架中,属性列表(Property List)文件是一种用来存储序列化后的对象的文件。属性列表文件的文件扩展名.plist,因此通常被称为plist文件。

属性列表
扩展名
.plist
互联网媒体类型application/x-plist
开发者苹果公司GNUstep,
NeXT
格式类型序列化对象

Plist文件通常用于储存用户设置,也可以用于存储捆绑的信息,该功能在旧式的Mac OS中是由资源分支提供的。

表达

编辑

由于Plist中存储的数据是抽象的,其采用的文件格式可以不止一种。NeXTSTEP只使用一种格式,而稍晚的GNUstepOS 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也可以读写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文件存储为二进制文件。从Mac OS X 10.4开始,这是偏好设置文件的默认格式。

plutil工具(在Mac OS X 10.2中导入)可以用来检查plist的语法,或者对plist文件进行格式转换。

可以使用任何文本编辑器对XML格式的plist进行更改,同时,Apple提供了“Property List Editor”应用程序(作为Apple Developer Tools的一部分安装),它是一个树状的查看器与编辑器,并可以处理二进制格式的plist。

对于XML格式,XML标签和相关Foundation类、Core Foundation类型、数据储存格式的关系如下表所示:

Foundation类 Core Foundation类型 XML标签 储存格式
NSString CFString <string> UTF-8编码的字符串
NSNumber CFNumber <real>, <integer> 十进制数字符串
NSNumber CFBoolean <true />, or <false /> 无数据(只有标签)
NSDate CFDate <date> ISO 8601格式的日期字符串
NSData CFData <data> Base64编码的数据
NSArray CFArray <array> 可以包含任意数量的子元素
NSDictionary CFDictionary <dict> 交替包含<key>标签和plist元素标签

defaults工具可以用于以命令行形式,通过程序的偏好设置域,管理用于储存偏好设置的plist文件;而Property List Editor则可以用于编辑任何plist文件(包括用于储存偏好设置的)。从Mac OS X 10.4开始,Apple提供了通过System Events应用程序读写plist文件的AppleScript接口,而从Mac OS X 10.5开始,Apple也提供了用于编辑,创建和写入plist文件的接口[1]

参考文献

编辑
  1. ^ AppleScript:属性列表. [2010-09-24]. (原始内容存档于2010-10-09). 

参见

编辑

外部链接

编辑

第三方编辑工具

编辑

📚 Artikel Terkait di Wikipedia

美國海軍兩棲作戰艦艇列表

SS Java Mail)。 APA-110 Griggs 瑞斯號(英语:USS Griggs (APA-110)) 溫莎級 除役 戰爭結束後於1948年時出售給民間,改名為「莫馬克雷號」(SS Mormacrey),之後又易手改名為「聖塔艾利西亞號」(SS Santa Alicia)。

吉里吉里

使用KAG語法撰寫的檔案,副檔名為.ks,可用記事本開啟。 TJS2為吉里吉里的內嵌腳本語言,目前最新版本為TJS2,TJS是介於JAVA與JavaScript之間的物件導向程式語言,也是由作者W.Dee氏自行定義的程式語言,作為吉里吉里底層開發語言。由於KAG是利用TJS語言所編寫,因

宇宙巡航艦 (遊戲)

CPC Sinclair ZX Spectrum PC-8801 X1 X68000 PC Engine Wii虛擬平臺PCE移植版 手機Java程式版 手機Java程式版 - 宇宙巡航艦完全版 PlayStation - 宇宙巡航艦DX包 (GRADIUS Deluxe Pack) Sega Saturn

ASCII艺术

可以通过CSS的方式在HTML中生成ASCII艺术。 ASCII立體圖 ASCII艺术编辑器: Jave - a free versatile使用Java编写的ASCII编辑器(页面存档备份,存于互联网档案馆) 文本生成器 另一个生成光栅ASCII艺术的程序 Japanese Ascii Art

GIS软件比较

More. Autodesk.com. 2010-06-10 [2010-07-05]. (原始内容存档于2019-10-16).  Boeing I&SS Mission Systems. Active.boeing.com. [2010-07-05]. (原始内容存档于2012-07-07).  http://www

快打旋風ZERO

Game Boy Color PlayStation PlayStation 2 世嘉土星 Microsoft Windows CPS Changer Java ME PlayStation Network 开发商 卡普空 发行商 卡普空 设计师 船水紀孝 村田治生 伊津野英昭 音乐 阿部功 西垣俊 山本节生

TypeScript

JavaScript的严格語法超集,提供了可選的靜態型別检查。 TypeScript的知名開發者有C#的首席架构师兼Delphi和Turbo Pascal的创始人——安德斯·海尔斯伯格。 TypeScript是为开发大型應用程式而设计的,且可转译成Java

參數化查詢

mysql_query($query); ODBC 使用 C 样式的函数 / 句柄接口,而 JDBC 用於 Java 之內。 //C/C++, Microsoft Windows ODBC TCHAR szStatement[]=TEXT("select * from