有人可以帮助我将特殊字符转换为可以在RTF文件中正确表示的东西吗?转换特殊字符为RTF
我正在将文本存储在iPad上的字符串中,并使用NSASCIIStringEncoding将其作为RTF文件输出。到现在为止还挺好。我忽视成功的是考虑到特殊字符(例如,代字符,元音变音,重音等)。很抱歉!
最普遍的RTF格式似乎希望8位文本编码与代码页转义(反斜杠后面的两个十六进制数字)。所以n与波浪号(ñ)会是'f1。
对我来说,唯一的解决方案是转换为NSUTF8StringEncoding,然后使用stringByReplacingOccurrencesOfString,但是有很多字符,而且手动替换每一个字符似乎很繁琐。有没有更有效的方式逃避我? (双关打算):)
谢谢你的任何建议。
只是从web开发中的类似问题的想法...使用Unicode整个? – 2010-09-17 18:27:14
我无法帮助你了解RTF格式的细节,但值得指出的是,从iOS 4.0开始,Apple(最终)引入了正则表达式支持 - 请参阅NSRegularExpression。根据您是否需要支持传统的3.x设备,我会试图使用正则表达式来解决这个特定的问题,因为这正是它们的设计目的。 – Echelon 2010-09-17 18:36:08
感谢分享。这是一个iPad应用程序,所以暂时我必须支持v3.2。 – DenVog 2010-09-17 19:20:28