2012-10-09 38 views
0

也许这是一个非问题,但我期待收集的智慧SO帮助我找出答案。确保从扩展ASCII编码为UTF8时的一致性

我们试图确保跨平台的编码是一致的。走的路线显然是UTF8。但是,有些平台很遗憾使用扩展ASCII(通常是某种形式的Windows代码页)。我们担心,如果使用说,变音符从Windows代码页到UTF8进行编码,UTF8中有多种可能的选择。

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

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

谢谢大家提前。

回答

1

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

+0

有道理。我们的服务器代码是python,所以unicode在这方面很容易。任何想法,如果ICU仍然是在C++处理unicode的标准? – Endophage

1

Unicode联盟编制了一套mapping tables。名义上是信息性的,它们构成了事实上的标准。此外,其中的许多映射都反映了形式化标准,因为根据Unicode定义任何新字符编码已经很正常,即通过指定每个字符的Unicode编号(和/或Unicode名称)。

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

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

P.S.没有扩展的ASCII。有各种字符编码,其中一些与ASCII在0到0x7F范围内重合,有些不符合。

+0

谢谢。我知道没有“扩展ASCII”的*标准*定义,否则我将大写“扩展”。但是,包含使用第8位的字符编码是公认的术语。 – Endophage