【发布时间】:2010-12-29 10:45:28
【问题描述】:
我有一个应用程序可以从服务器读取 UTF-8 格式的数据,但它必须以 ISO 8859-1(Latin-1) 格式显示。是否有任何 Cocoa API 来实现这一点?
【问题讨论】:
-
“在 ISO 8859-1 中显示”没有意义。如果显示文本,则会绘制字符。并且字符独立于编码。存储或传输文本时使用编码,但不显示。
-
@user543101 我回答的哪一部分没有充分回答您的问题?
-
我同意 Codo,这毫无意义。采用 ISO-8859-1 编码的字符并将它们序列化为 UTF-8 只是可以的,因为 ISO-8895-1 被合并为前 256 个代码点,但是这将与任何其他编码一起失败,并且如果你不是真的可能会失败使用 ISO-8859-1(例如,使用 8859-15 或 Windows-1252)。服务器应该发送正确的 UTF-8 编码的 Unicode 代码点,您应该只显示相关的字形。
-
@Jason 虽然问题的动机可能没有意义,但仍然有答案。
-
@Jacob 这个问题是另一个问题的系统性问题,需要指出的是,该解决方案仅适用于 8859-1。以这种方式序列化的任何其他编码,甚至 8859-1 的变体都可能失败。
标签: ios cocoa cocoa-touch character-encoding nsstring