我猜UCS和Unicode的代码点是一样的,我是对的吗?
在这种情况下,为什么我们需要两个标准(UCS和Unicode)?
答案 0 :(得分:17)
它们不是两个标准。通用字符集(UCS)不是标准,而是标准中定义的内容,即ISO 10646.这不应与编码混淆,例如UCS-2。
很难猜测你是否真的意味着不同的编码或不同的标准。但对于后者,Unicode和ISO 10646最初是两个不同的标准化工作,具有不同的目标和策略。然而,它们在20世纪90年代早期得到了协调,以避免因两种不同标准造成的混乱。它们已经过协调,因此代码点确实相同。
但是,它们保持不同,部分原因是因为Unicode是由一个行业联盟定义的,该联盟可以灵活地工作,并且对标准化除了简单的代码点分配之外的东西很感兴趣。 Unicode标准定义了大量原则和处理规则,而不仅仅是字符。 ISO 10646是一种正式标准,可在ISO及其成员的标准和其他文档中引用。答案 1 :(得分:9)
代码点是相同的但存在一些差异。 来自the Wikipedia entry about the differences between Unicode and ISO 10646 (i.e. UCS):
非常有用它们之间的区别在于Unicode添加了超出ISO 10646范围的规则和规范.ISO 10646是一个简单的字符映射,是ISO 8859之前标准的扩展。相比之下,Unicode增加了归类,规范化的规则表格,以及希伯来语和阿拉伯语等脚本的双向算法
我认为差异来自代码点的编码方式。 UCS-x使用固定数量的字节来编码代码点。例如,UCS-2使用两个字节。但是,UCS-2无法编码需要超过2个字节的代码点。另一方面,UTF使用可变数量的字节进行编码。例如,UTF-8使用至少一个字节(对于ascii字符),但如果字符在ascii范围之外,则使用更多字节。