0

也许这不是问题,但我期待 SO 收集的智慧来帮助我找出答案。

我们正在努力确保跨平台的编码是一致的。要走的路显然是UTF8。但是,不幸的是,某些平台使用扩展的 ASCII(通常是某种形式的 Windows 代码页),我们担心当使用变音符号从 Windows 代码页到 UTF8 进行编码时,在 UTF8 中对于字符有多种可能的选择。

在不同的平台(Linux、Mac OS)上,我们如何确保那里选择的 UTF8 字符是一致的?

正如我所说,也许这不是问题。也许有一些我不知道的标准映射。我们没有看到任何问题,但一位同事刚刚提出了这个问题,所以我正在寻找信息。

谢谢大家。

4

2 回答 2

1

Unicode 联盟编制了一组映射表。名义上是信息性的,它们构成了事实上的标准。此外,那里的许多映射反映了正式标准,因为按照 Unicode 定义任何新的字符编码已成为常态,即通过指定每个字符的 Unicode 编号(和/或 Unicode 名称)。

一旦一个字符被映射到 Unicode(即,到一个 Unicode 代码点或 Unicode 数字),它在每个 Unicode 编码中的编码,例如 UTF-8,就已经被明确定义了。

所以问题是如何确保您使用的转换例程根据这些表工作。使用ICU在这方面可以认为是安全的。

PS 没有扩展的 ASCII。有各种字符编码,其中一些与 ASCII 在 0 到 0x7F 的范围内一致,有些则不然。

于 2012-10-10T06:11:56.230 回答
1

只要您首先将原始文本正确转换为 Unicode,然后使用 Utf8 存储/传输数据,就应该没有问题。

于 2012-10-09T23:49:25.903 回答