objective-c – 适用于iOS和Mac OS X的MacBinary转换器

objective-c – 适用于iOS和Mac OS X的MacBinary转换器,第1张

概述我在iOS和Mac OS X上寻找转换MacBinaryIII编码文件的代码.我能找到的唯一两个是Christopher Evans MacBinaryIII和Sean Hummels MacBinaryIII OSAX 1.0.1,它们都使用iOS上没有的API或64位Mac OS X Obj -C运行时. 你处于一个不值得羡慕的位置,不得不复活旧的代码以处理编码,而这些代码在这些日子里根本没用 我在iOS和Mac OS X上寻找转换MacBinaryIII编码文件的代码.我能找到的唯一两个是Christopher Evans MacBinaryIII和Sean Hummels MacBinaryIII OSAX 1.0.1,它们都使用iOS上没有的API或64位Mac OS X Obj -C运行时.解决方法 你处于一个不值得羡慕的位置,不得不复活旧的代码以处理编码,而这些代码在这些日子里根本没用过.只需要解码就可以轻松完成任务.

在MacBinaryIII.c / .h中,执行以下 *** 作:

摆脱EncodeMacBinaryfile(),EncodeMacBinaryfiles(),EncodeMacBinary()和FSpIsMacBinary().

摆脱SetDesktopComment(),并在DecodeMacBinaryfiles()和DecodeMacBinary()中删除它的用法;如果您想要的只是转换后的文件,这是多余的.

虽然您已经大大简化了一些事情,但您需要转换代码以使其适用于文件路径,而不是那些在Pascal字符串中保存文件名的Fsspec结构,最大限制为31个字符.为此:

使用.m扩展名而不是.c重命名文件以处理Cocoa内容.

要确定文件是否存在,可以使用 – [NSfileManager fileExistsAtPath:].

要读取文件,可以使用NSfileHandle quick和dirty来获取要转换的文件内容.你会得到一个NSData,并且需要制作一个可变的副本来转换它的内容.要写出转换后的数据,您可以利用NSMutableData写出文件的能力.

最后,在执行字节 *** 作时要注意字节序问题.这段代码写于68000(和后代)硬件和PowerPC:big-endian的时代.

我希望我有一些东西,我可以放在你的腿上,准备好去,但鉴于这个特殊的任务,这就是我能提供的一切.

祝好运!

总结

以上是内存溢出为你收集整理的objective-c – 适用于iOS和Mac OS X的MacBinary转换器全部内容,希望文章能够帮你解决objective-c – 适用于iOS和Mac OS X的MacBinary转换器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1001059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存