2012-01-14 72 views
7

我猜UCS和Unicode的代码点是一样的,对吗?为什么我们需要UCS和Unicode字符集?

在这种情况下,为什么我们需要两个标准(UCS和Unicode)?

+2

我没有看到问题和“为什么我们需要的字母”上述评论之间的类比。国际海事组织,这个问题是一个很好的和适当的 – 2012-01-14 06:32:31

回答

17

它们不是两个标准。通用字符集(UCS)不是标准,而是标准中定义的内容,即ISO 10646.这不应与诸如UCS-2之类的编码混淆。

很难猜测你实际上是指不同的编码还是不同的标准。但就后者而言,Unicode和ISO 10646最初是两种不同的标准化工作,具有不同的目标和策略。然而,它们在20世纪90年代早期进行了协调,以避免由于两种不同标准而导致的混乱。他们已经协调好,使得代码点确实相同。

他们保持不同,不过,部分原因是因为统一是由行业协会定义的,可以灵活工作,并在规范的东西超出了简单的代码点分配的极大兴趣。 Unicode标准定义了大量的原则和处理规则,而不仅仅是字符。 ISO 10646是可以在ISO及其成员的标准和其他文件中引用的正式标准。

9

码点是相同的,但有一些差异。 从the Wikipedia entry about the differences between Unicode and ISO 10646 (i.e. UCS)

它们之间的不同之处在于增加了Unicode的是ISO 10646 ISO 10646的范围之外是一个简单的字符映射表,以前的标准,如ISO 8859.相反的延伸规则和规范,统一增加了排序规则,形式规范化和双向算法像希伯来语和阿拉伯语

脚本您可能会发现阅读有益the Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

我认为差异来自鳕鱼的方式e点被编码。 UCS-x使用固定数量的字节来编码一个代码点。例如,UCS-2使用两个字节。但是,UCS-2无法对需要超过2个字节的代码点进行编码。另一方面,UTF使用可变数量的字节进行编码。例如,UTF-8至少使用一个字节(对于ascii字符),但如果字符超出ascii范围,则使用更多字节。

+2

+1链接到* Joel on Software *文章。 – DaveE 2012-01-14 06:36:00