gpt4 book ai didi

iOS 写入 CSV 文件 : which encoding to use

转载 作者:行者123 更新时间:2023-11-29 01:30:57 26 4
gpt4 key购买 nike

在我的 iOS 应用程序中,我有一个将数据写入 CSV 文件的功能。在大多数情况下,这适用于以下情况:

[csvString writeToFile: filePath atomically:YES encoding: NSUTF8StringEncoding error:&error];

我最近收到一位日本用户的电子邮件,说导出的 CSV 文件有奇怪的符号而不是日文字符。所以我转而使用 NSUTF16StringEncoding,它似乎也适用于日文字符。

所以问题是:使用 NSUTF16StringEncoding 是更好,还是这样做有任何缺点?似乎我看到的其他写入 CSV 文件的示例(包括 CHCSVParser )使用NSUTF8StringEncoding,所以我不确定更喜欢哪一个。

谢谢。

最佳答案

没有“更好”的编码。

UTF-8 每个字符使用可变数量的字节,从 1 到 4。UTF-16 始终为每个字符使用 2 个字节。什么是最好的,完全取决于您和您的企业。理论上,如果您的用户主要位于亚洲并且主要使用非 ASCII 字符,则以 UTF-16 编码的文件会更小。如果您的用户主要生活在西方世界并且使用基于拉丁字母的字母表,那么使用 UTF-8 会使每个文件小 50%。

我相信您的问题不在于编码的选择,而在于演示。文本编辑器无法猜测文件的编码,因此您的日语用户可能使用默认为 UTF-16 的文本编辑器,因此无法正确表示 UTF-8 字符序列。这个问题的解决方案是使用 BOM 序列,按照这个 SO 答案:https://stackoverflow.com/a/2585194/192024 (简而言之:只需在文件开头添加这 3 个字节即可告诉编辑器使用什么编码)

关于iOS 写入 CSV 文件 : which encoding to use,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33470316/

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