【问题标题】:Cappuccino plist structure卡布奇诺 plist 结构
【发布时间】:2010-06-11 09:16:30
【问题描述】:

问题是有人知道 Cappuccino 中 (type-2) plist 文件的结构是什么吗?

在 Cappuccino 中大量使用 plist 文件。

一些如 info.plist (type-1) 遵循可识别的结构。这些很好,我能理解。

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

但是其他用于导入数据、将 pptx 文件导入幻灯片应用程序和从幻灯片应用程序导入和导出的其他(类型 2),我相信 Atlas 开发工具不会。

他们有这样的结构

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 徽章问题她,但我已经有了它没关系。

【问题讨论】:

  • 谢谢亚历山大,罗斯,真的很有帮助

标签: plist cappuccino


【解决方案1】:

我只能猜测风滚草徽章是什么,但让我们看看我们是否可以避免这种情况。您正在查看的文件是“280 North 格式 Plist”,这是一种特殊格式的 plist,已针对卡布奇诺应用程序进行了优化。如果您想深入研究它,可以使用cplutil 工具并将其转换为常规 XML plist。

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

Nice Panorama 有more info

【讨论】:

    【解决方案2】:

    要回答您关于 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字典中的第一项是第一个key,长度为4

    D;K;23;DocumentPresentationKey关联的值本身就是字典,它的第一个键长23个字符

    等等

    该格式旨在让您更轻松地只阅读文档的部分内容,而无需解析整个 plist。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-03
      • 2011-05-16
      • 1970-01-01
      • 2011-05-07
      • 2011-04-01
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多