Property list explained

Property List
Extension:.plist
Owner:Apple Computer and GNUstep,
formerly NeXT
Genre:Serialization of dictionary objects.
In the Mac OS X Cocoa, NeXTSTEP, and GNUstep programming frameworks, property list files are files that store serialized objects. Property list files use the filename extension .plist, and thus are often referred to as plist files. Property lists are parsed with the NSPropertyListSerialization class. A property list file can only contain Core Foundation or Foundation Kit objects, as the library does not know how to serialize any other type of object.

In practical terms they are often used to store a user's settings. They are also used to store information about bundles and applications, a task served by the resource fork in the old Mac OS.

Representations

Since the data represented by property lists is somewhat abstract, the underlying file format can be implemented many ways. Namely, NeXTSTEP used one format to represent a property list, and the subsequent GNUstep and Mac OS X frameworks introduced differing formats.

NeXTSTEP

Under NeXTSTEP, property lists were designed to be human readable and edited by hand, serialized to ASCII in a syntax somewhat like a programming language.

Strings were represented as:

"This is a plist string"Binary data was represented as:

< [hexadecimal codes in ASCII] >Arrays were represented as:

( "1", "2", "3" )And dictionaries were represented as: