我需要將RTFD字符串(通常簡寫爲)嵌入到XML文件中。爲XML編碼RTFD
XMLWriter writer(...)
NSAttributedString *ns=.....
NSRange all=NSMakeRange(0,[s length]);
NSData *rtfd=[s RTFDFromRange:all documentAttributes:nil];
writer.Write(rtfd);
RTFD使我們無法保證(按照我的理解 - 我似乎無法找到標準DOC),該數據字節將是安全的,即使作爲CDATA - 或者實際上表示的是UTF8。我應該如何編碼它們?
目標包括:
- 人類可讀性
- 緊湊
- 編碼和解碼
雖然清楚地折衷可能是必要的速度。
除非我弄錯了,initWithData:指定在編碼之前編碼DATA的編碼,所以這不起作用,例如,如果圖像附着有一個字節序列對於UTF8是非法的 – 2013-02-28 01:47:29
當創建數據時,'NSCharacterEncodingDocumentAttribute'設置爲'NSUTF8StringEncoding',所以數據被編碼爲UTF8,即任何這樣的字節序列在數據創建期間被平坦化。 – 2013-02-28 18:02:10
我不認爲這會工作:NSCharacterEncodingDocumentAttribute描述正在讀取的文檔的編碼:「這些選項鍵被識別爲使用initWithData:選項導入文檔:documentAttributes:error:,initWithHTML:options:documentAttributes:,initWithURL:options:documentAttributes :error:或readFrom ...方法(例如readFromData:options:documentAttributes :)由NSMutableAttributedString實現。 – 2013-02-28 19:24:38