Mac osx で rtf (画像あり) を読み取るために、objective-c コードを使用しようとしています。Mac の Textedit アプリは常に rtf ファイルの画像情報を削除することに気付きました。Windows で rtf のバイナリ コードを確認します。rtf ファイルは常に画像を長いテキスト文字列に変更します。
Mac と win の rtf 定義に違いがあるかどうかはわかりません。
コメント歓迎
私は間違っているかもしれませんが、画像を追加するときにMac OS X TexteditはRTFD形式を使用し、WindowsはRTFを保持し、データをテキストファイルに直接配置することを思い出します。
RTFDはパッケージ形式(実際にはフォルダー)であり、画像をファイルとテキストとして別々に保存します。
あなたはちょっと正しいです。
Windows は完全な RTF 仕様を使用および実装しています。これにより、埋め込み画像を 16 進コードまたはバイナリ コードに変換された 16 進コードとして書き込むことができます。
Mac では、TextEdit は RTF ファイルを問題なく読み取ることができますが、仕様全体を実装しているわけではありません。具体的には、TextEdit は画像が埋め込まれた RTF ストリームを無視します。これは Apple 側の純粋な怠惰です。代わりに、Apple は、画像とその画像への RTF コード リンクを含む RTFD コンテナーを使用することを好みます。残念ながら、これらのコンテナーは Windows では機能しません。
これはどういう意味ですか?TextEdit と Windows の間には、実際の RTF 互換性はありません。これは非常にイライラする問題であり、非常に長い間存在しています。
RTF 仕様をサポートするように Apple にバグ レポートを提出しました。バージョン 1.9 は、ここからダウンロードできます。