Mos*_*she 6 iphone objective-c archiving nsdata ios
如果我有一个NSData的任意块作为十六进制值,有没有办法确定对象在归档或序列化之前可能是什么?我不介意一些猜测和检查方法,但我需要一些正确方向的指针.
我有一个NSData对象,其中包含一些十六进制.我应该看一下NSData的哪些方法?是否还有其他课程可供尝试
不想让人们远离回答,但我有一个可能使用Cocoa Touch类编码的游戏数据文件.当在十六进制编辑器中查看时,数据显示乱码和用户名,这使我怀疑它是各种存档或编码对象.我已经将十六进制编辑器中的十六进制复制到一个示例项目中,我用它来尝试解压缩数据.
我不相信这与3d格式有关,文件扩展名是任意的.
这是数据.我希望它不会在翻译中丢失:
'µköXN[ÎÀü÷h/F9ó9Vìñ°ceE¸z¶=Hmoshbermú«ó¼Ppù#ÝVÔ=4â®L,K;Êç;ASÀ&Ë÷ëÓ%È;Úf¬G}tmQ;µéüø_87´y©ã©!ß¶óQòAçÛl©âSG4S½3ýJת9äô¡wxiD²M¼ÏB]39øþ:óñ7ª¾÷躣È3Ï¢ÍEFÍ¢ª»r]BmÁ'Ò+åygÞÅQ?luó>÷ú¼è6¸|}[¼[¶Ñ¦g!\OÎÒJSE..pSß&_ÈEäø)6òëó¨¼2¶ð°æà`ï7Ë=Ã¥:cƧ=L4qG-"µ(ÐÝïß ÓãXkÀ4fzæ·p\ññT<tu¥Æ©;Ìn4£³Ï¢ÌFåG´
Run Code Online (Sandbox Code Playgroud)
和相应的十六进制:
27 B5 6B F6 01 00 00 00 58 4E 5B CE C0 FC F7 68 2F 46 86 87 83 39 F3 39 9E 56 EC F1 B0 63 9E 65 45 B8 7A B6 3D 07 99 48 6D 6F 73 68 62 65 72 6D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 86 FA 03 0E AB F3 BC 0B 50 70 F9 23 DD 87 56 03 D4 3D 34 90 E2 AE 4C 2C 94 9E 8E 15 4B 0C 83 8C 3B 03 CA E7 3B 1B 41 53 C0 26 04 CB F7 EB D3 25 C8 3B DA 66 8A AC 47 7D 8A 7F 74 6D 51 3B B5 19 E9 FC F8 5F 38 37 B4 11 0C 79 A9 12 E3 A9 21 DF B6 F3 51 F2 41 E7 DB 85 02 9F 6C A9 E2 53 47 1F 34 86 53 BD 33 FD 4A D7 AA 39 C3 A4 F4 A1 77 78 69 44 B2 4D BC CF 42 5D 33 39 F8 FE 97 3A 81 F3 F1 10 37 AA BE 86 91 F7 1F E8 83 BA A3 C8 33 CF 1D A2 CD 45 7F 46 1F CD A2 AA BB 1A 72 5D 42 02 6D C1 0F 27 D2 2B E5 0B 79 67 DE C5 1A 51 3F 14 6C 75 F3 3E F7 FA BC E8 36 8E B8 7C 02 1C 7D 01 00 92 8C 19 5B BC 5B B6 D1 A6 67 7F 21 5C 84 13 4F CE 0C D2 4A 53 19 82 45 1B 2E 2E 96 70 53 DF 26 5F C8 1C 45 8F E4 F8 29 36 F2 EB 9D 95 F3 A8 BC 32 B6 F0 B0 E6 91 98 1A E0 99 60 EF 37 CB 3D C3 A5 3A 63 0C C6 A7 3D 4C 34 71 47 2D 22 B5 28 D0 DD EF DF 09 D3 E3 58 6B C0 17 34 66 7A E6 B7 70 5C F1 F1 54 3C 74 94 75 A5 C6 15 A9 9E 14 3B CC 15 10 83 6E 34 A3 B3 CF 0F A2 9C CC 8E 46 8C E5 00 00 47 B4 17 05 00 00 00 00
Run Code Online (Sandbox Code Playgroud)
如果有人愿意帮助解决这个问题,我将不胜感激.
如果我有一个任意的 NSData 块作为十六进制值,有没有办法确定该对象在归档或序列化之前可能是什么?
并不真地。这就像在不使用 UTI、扩展名、MIME 类型的情况下正确读取任意文件一样“微不足道”。当然,您的程序还需要支持读取所有这些文件/格式。
我不介意一些猜测和检查方法,但我需要一些正确方向的指示。
如果您不想完成一项不可能完成的困难任务,则需要缩小问题/输入的范围。
我有一个 NSData 对象,里面有一些十六进制。我应该查看 NSData 的哪些方法?
它只是一个length字节数据块。它可以代表任何东西——如果你不知道它来自哪里。
还有其他课程可以尝试吗?
也许您会首先通过 NSCoder 或其他序列化器/归档器保存所有数据,它为您提供一些内省和支持,以输入您自己的信息(这与 UTI 或 MIME 类型相当)。
编辑:
不想吓唬人们不要回答,但我有一个游戏数据文件,它可能是使用 Cocoa Touch 类编码的。当在十六进制编辑器中查看数据时,会显示乱码和用户名,这让我怀疑它是某种存档或编码的对象。我已将十六进制编辑器中的十六进制复制到示例项目中,我正在使用该示例项目来尝试取消存档数据。
使用这些 API,数据可以以多种方式表示。您可能面临 1) 专有文件格式到 2) 密钥存档领域内的问题。
后者对于重要的数据表示更容易。您需要定义未归档时不可用的任何 objc 类。在这种情况下,一些示例表示将提供您需要的数据结构的粗略轮廓(在传统实现下)。如果解档器能够打开它,它也可能是类似于 NSDictionary 的档案。这个问题比其他语言更容易,因为归档通常依赖于映射到 Cocoa 中成员的键和值。
编辑2:
该文件来自 Draw Something 目录。它叫做 gamedata.i3d
(耸肩)
| 归档时间: |
|
| 查看次数: |
292 次 |
| 最近记录: |