gpt4 book ai didi

cocoa - NSUTF8StringEncoding 导致文件在 TextEdit/Pages 中渲染不正确,但在 BBEdit/vi 中则不会

转载 作者:行者123 更新时间:2023-12-03 16:15:09 24 4
gpt4 key购买 nike

我遇到了一个奇怪的问题。每当我在 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.
}

What happens after saving my file.  Should say I Love It with some weird diacritics

unix file 命令报告保存的文件确实是“UTF-8 Unicode 文本,没有行终止符”

更奇怪的是,如果我再次保存文件而不更改文本内容,该文件将在我的 Mac 上的“快速查看和文本编辑”中正确呈现。

如有任何帮助,我们将不胜感激。

最佳答案

这是一个猜测,但这可能与缺少 byte order mark 有关吗? ?对于 UTF8,BOM 看起来像十六进制的 EF BB BF,并且应该是文件中的第一个内容。

关于cocoa - NSUTF8StringEncoding 导致文件在 TextEdit/Pages 中渲染不正确,但在 BBEdit/vi 中则不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3534729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com