【问题标题】:How to generate an NSKeyedArchiver in PHP如何在 PHP 中生成 NSKeyedArchiver
【发布时间】:2016-03-07 10:48:07
【问题描述】:

我们有一个应用程序从服务器接收一个文件,该文件以前由 Objective C 应用程序使用NSKeyedArchiver 生成。

我们现在想使用 PHP 生成相同的文件。这可能吗?

相关问题:

  • NSKeyedArhiver使用的算法是什么?
  • PHP 中有没有模仿它的函数?
  • 如何在 PHP 中将普通字符串转换为 NSData 对象?

谢谢!

【问题讨论】:

    标签: php objective-c nskeyedarchiver


    【解决方案1】:

    这是我在 PHP 中成功解码 NSKeyedArchiver 的方法。

    NSKeyedArchiver 是一个特定结构的二进制 plist,本文对其进行了描述:http://www.cclgroupltd.com/geek-post-nskeyedarchiver-files-what-are-they-and-how-can-i-use-them/

    我使用 Christian Kruse 的 CFPropertyList (https://github.com/ckruse/CFPropertyList) 从二进制 plist 中读取。使用上面提到的文章,我可以找到正确的键/对象。

    我正在使用的NSKeyedArchivers 首先都有一个简单的结构(所有类型字典),因此序列化的 plist 相对简单。

    按照相同的过程,但顺序相反,我将采用命名数组,使用NSKeyedArchiver 的专有结构对其进行序列化,然后使用CFPropertyList 库将其转换为二进制plist。

    我希望这对任何人都有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-05
      • 2012-08-03
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多