Ios NSKeyedArchiver使用什么字符编码或文件格式?

Ios NSKeyedArchiver使用什么字符编码或文件格式?,ios,nscoding,nskeyedarchiver,Ios,Nscoding,Nskeyedarchiver,我目前正在调查一个文件解除归档期间发生的崩溃,该文件可能是通过NSKeyedArchiver存储的。崩溃日志包含文件的前8个字节的四分之一(我只包括下面的前2个) 我无法使用ASCII、Base64、UTF8或UTF16将这些字节解码成任何有用的内容。有人知道什么样的文件格式和/或字符编码NSKeyedArchiver使用,或者我如何将这些字节解码为人类可读的内容吗?键控归档文件存储为二进制plist。您可以使用plutil命令行实用程序来打印、验证或操作内容。也许您无法将其解码为任何合理的内容

我目前正在调查一个文件解除归档期间发生的崩溃,该文件可能是通过
NSKeyedArchiver
存储的。崩溃日志包含文件的前8个字节的四分之一(我只包括下面的前2个)


我无法使用ASCII、Base64、UTF8或UTF16将这些字节解码成任何有用的内容。有人知道什么样的文件格式和/或字符编码
NSKeyedArchiver
使用,或者我如何将这些字节解码为人类可读的内容吗?

键控归档文件存储为二进制plist。您可以使用
plutil
命令行实用程序来打印、验证或操作内容。

也许您无法将其解码为任何合理的内容正是因为它已损坏。@Avi是的,这可能是正确的。奇怪的是,文件的唯一写入方式是通过
NSKeyedArchiver
——至少在我看来是这样。因此,我希望有一种方法可以手动将档案解码成人类可读的东西。它可能是一个二进制plist。它确实是一个二进制plist。您可以在存档文件上使用
plutil-p
。还有其他选项可以检查完整性。@Avi谢谢。不幸的是,
plutil
命令似乎无法从文件的开头生成人类可读的格式。我只有前几个字节,因为崩溃日志来自Fabric。谢谢。不幸的是,
plutil
命令似乎无法从文件的开头生成人类可读的格式。我只有前几个字节,因为崩溃日志来自Fabric。这确实说明它只是被破坏了,因此发生了崩溃。一个奇怪的情况,当然。我会给你接受的答案,因为我要求的文件格式。遗憾的是,
plutil
在这种情况下对我没有帮助。无论如何谢谢。plutil只是将二进制文件转换为xml的第一步。然后,您可以(仅)通过base64解码器运行数据值,以尝试提取一些信息。。但是你必须在输出中搜索一点,才能拼凑出任何相关的信息
Fatal Exception: NSInvalidArgumentException
*** -[NSKeyedUnarchiver initForReadingWithData:]: incomprehensible archive (0xffffffa6, 0xffffff9e, ...)