我遇到了一个有点奇怪的问题。每当我在 iOS 应用程序中创建新的文本文件时,我都会将其编码设置为NSUTF8StringEncoding
。如果我编辑文件并输入任何带变音符号的字符并保存更改,则变音符号在某些应用程序(如 BBEdit、TextMate、cat 和 vi)中正确呈现,但在其他应用程序(如 TextEdit、Quick Look 和 Pages)中则无法正确呈现。
我使用以下代码将 UITextView 的内容保存到纯 txt 文件中。
NSError *error;
NSString *dataString = self.textView.text;
BOOL savedChanges = [dataString writeToFile:fullPath atomically:YES encoding:NSUTF8Encoding error:&error];
if (!savedChanges)
{
// Pop up an alert saying something went wrong.
}
Unixfile
命令报告保存的文件确实是“UTF-8 Unicode 文本,没有行终止符”
更奇怪的是,如果我再次保存文件而不更改文本内容,该文件将在我的 Mac 上的“快速查看和文本编辑”中正确呈现。
任何帮助,将不胜感激。
这是一个猜测,但这是否与缺乏字节顺序标记 http://en.wikipedia.org/wiki/Byte_order_mark?对于 UTF8,BOM 看起来像EF BB BF
以十六进制表示,并且应该是文件中的第一个内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)