2010-06-11 49 views
1

問題是沒有人知道卡布奇諾(類型2)plist文件的結構是什麼?卡布奇諾plist結構

在卡布奇諾,有很多使用plist文件。

某些如info.plist(類型1)遵循一個可識別的結構。這些都很好,我可以理解他們。

<plist version="1.0"> 
<dict> 
<key>CPApplicationDelegateClass</key> 
<string>DocumentController</string> 
<key>CPBundleDocumentTypes</key> 
<array> 
<dict> ..... etc 

但是其用於數據導入,導入PPTX文件和幻燈片應用其他(2型),我相信阿特拉斯開發工具沒有。

他們有這樣

280NPLIST;1.0;D;K;4;$topD;K;23;DocumentPresentationKeyD;K;6;CP$UIDd;1;1E;E;K;8;$objectsA;S;5;$nullD;K;6;$classD;K;6;CP$UIDd;1;2E;K;23;SKPresentationSlideSizeD;K;6;CP$UIDd;1;3E;K;23;SKPresentationNotesSizeD;K;6;CP$UIDd;1;4E;K;20;SKPresentationSlidesD;K;6;CP$UIDd;1;5E;K;26;SKPresentationSlideMastersD;K;6;CP$UIDd;1;7E;K;19;SKPresentationThemeD;K;6;CP$UIDd;1;8E;E;D;K;10;$classnameS;14; 

這似乎都在一行不論大小的結構(我有一個今天有超過130萬個字符。

有些結構是與字符計數,但我有什麼看起來像有效的文件失敗,並看起來可疑不明確

我懷疑我剛剛問過一個Tumbleweed徽章問題她,但因爲我已經有一個它並不重要。

+0

謝謝Alexander,Ross,真的很有幫助 – PurplePilot 2010-06-14 08:03:29

回答

4

我只能猜測Tumbleweed徽章是什麼,但讓我們看看我們是否可以避免這種情況。您正在查看的文件是'280 North格式Plist',這是一種專門用於卡布奇諾應用程序的plist特殊格式。如果您想深入研究,可以使用cplutil工具並將其轉換爲常規XML plist。

cplutil -convert xml1 -o Info3.plist Info1.plist 

尼斯全景有more info

3

要回答你關於plist實際結構的問題,它有點類似於netstrings(http://cr.yp.to/proto/netstrings.txt)。當然,內容與XML plist相同。

該格式以一個魔術字符串(和一個版本)開頭,以標識讀取的plist類型。接下來是幾個plist類型(d-> dictionary,k-> key等)的常量,項目的長度,然後是項目本身。這些部分用分號分隔。

因此,如果我們看一下剛纔在您發佈什麼第一部分:

280NPLIST;1.0;這告訴我們的格式,並認爲這是版本1.0

D;的第一項是一本字典,它總是有一個鍵,然後該對象

K;4;$top在詞典中的第一項是第一密鑰,4

D;K;23;DocumentPresentationKey長度相關聯的值是本身ð ictionary其第一個關鍵是23個字符長

格式的設計,使其更容易閱讀文檔的唯一部分,而無需解析整個的plist。