2012-05-20 105 views
0

我嘗試使用objective-c代碼讀取mac osx上的rtf(有圖像)。 我注意到在Mac上的應用程序Textedit總是刪除rtf文件的圖像信息。 我在Windows上檢查rtf的二進制代碼。 rtf文件始終將圖像更改爲長文本字符串。rtf在mac os x和windows上的差異格式

我不確定mac和win上的rtf定義是否有區別?

歡迎任何評論

回答

0

我可能是錯的,但我提醒的是Mac OS X中的TextEdit使用RTFD格式,當你添加圖片和Windows不斷RTF和直接放DATAS IN的文本文件。

RTFD是封裝格式(這實際上是一個文件夾),分別存儲圖像文件和文本。

0

你是對的。

Windows使用和實現了全部的RTF規範,這允許將要寫入嵌入圖像作爲任一十六進制代碼或十六進制代碼轉換爲二進制碼。

在Mac上,TextEdit將會讀取RTF文件,但它不會執行整個規範。特別是TextEdit會忽略具有嵌入圖像的RTF流。這對蘋果來說是純粹的懶惰。相反,Apple喜歡使用具有圖像和RTF代碼鏈接的RTFD容器。不幸的是,這些容器在Windows中不起作用。

這是什麼意思? TextEdit和Windows之間沒有真正的RTF兼容性,反之亦然。這是一個非常令人沮喪的問題,已經存在很長時間了。

我已經向Apple提交了錯誤報告,要求他們支持RTF規範。版本1.9可以下載here