我正在尋找代碼來轉換iOS和Mac OS X上的MacBinaryIII編碼文件。我能找到的唯一兩個是Christopher Evans MacBinaryIII和Sean Hummels MacBinaryIII OSAX 1.0.1,它們都使用不可用的API在iOS或64位Mac OS X Obj-C運行時上運行。適用於iOS和Mac OS X的MacBinary轉換器
回答
你現在處於一個不可饒恕的位置,不得不復活舊的代碼來處理一種編碼,即使在這些日子裏,這些編碼也沒那麼用。只需要解碼就可以讓您的任務變得更輕鬆。
在MacBinaryIII.c/.h
,請執行下列操作:
擺脫EncodeMacBinaryFile()
,EncodeMacBinaryFiles()
,EncodeMacBinary()
和FSpIsMacBinary()
。
也擺脫SetDesktopComment()
,並刪除其在DecodeMacBinaryFiles()
和DecodeMacBinary()
;如果你想要的只是轉換後的文件,這是多餘的。
雖然大大簡化了事情,但您需要轉換代碼,使其適用於文件路徑,而不是那些以Pascal字符串保存文件名的FSSpec
結構,最大限制爲31個字符。爲此目的:
重命名帶.m擴展名的文件而不是.c來處理Cocoa的東西。
要確定文件是否存在,您可以使用-[NSFileManager fileExistsAtPath:]
。
要讀取文件,您可以使用NSFileHandle
快速和骯髒的獲取文件內容進行轉換。你會得到一個NSData,並且需要製作一個可變的副本來轉換它的內容。爲了寫出轉換後的數據,可以利用NSMutableData寫出文件的功能。
最後,在執行字節操作時要小心endian問題。這段代碼是在68000(和後代)硬件和PowerPC:big-endian的日子裏編寫的。
我希望我有一些東西,我可以放在你的腿上,準備去,但考慮到這個特殊的任務,這是我所能提供的。
祝你好運!
無法控制的立場,我認爲這是我的工作頭銜;)Thx。 – catlan
- 1. 適用於Mac OS X的openAL教程
- 2. 適用於Mac OS X的構建
- 3. 適用於Mac OS X的UIPopoverController?
- 4. 適用於Mac OS X的MapKit?
- 5. Tkinter的扶養適用於Mac OS X
- 6. 適用於DirectShow的Mac OS X,GraphEdit
- 7. 適用於Mac OS X的AirPlay API
- 8. 適用於Mac OS X的ldconfig
- 9. 適用於Mac OS X的乳膠
- 10. 適用於Mac OS X的Pascal IDE
- 11. OpenGLScreenSnapshot不適用於Mac OS X 10.7 - Lion
- 12. Visual Studio是否適用於Mac OS X?
- 13. 用於Mac OS X的Fortran調試器
- 14. 找到適用於OS X但不適用於iOS的標頭
- 15. 適用於Mac OS X的核心動畫樂器?
- 16. 適用於Mac OS X的16位Real Mode C編譯器
- 17. 適用於iOS和Mac OS X的跨平臺方法是什麼?
- 18. 適用於Mac OS和iOS的通用類
- 19. 哪個Emacs適用於Mac OS X?...適用於Windows?適用於Linux?
- 20. 適用於iOS和OS X應用程序的庫?
- 21. 爲Mac OS X轉換Linux shell腳本
- 22. 如何啓用適用於Mac OS 10.8.3
- 23. 同步iOS和Mac OS X數據
- 24. jQuery.data()適用於Mac OS WebKit,但不適用於iPhone OS?
- 25. MAC OS X - Xcode4和
- 26. Mac OS X和Mercurial
- 27. setrlimit不適用於OS X Maverick和Yosemite
- 28. 適用於iPhone開發者的Mac OS X上的OpenGL
- 29. 如何下載適用於Mac OS X的PHP擴展程序
在[Open Powerplant](http://sourceforge.net/projects/open-powerplant/)中有一個MacBinary類,但我懷疑它是更現代的代碼。 – JWWalker