3

我已阅读 Joel 的文章并进行了大量搜索。每个关于 Unicode 的站点和文章都在讨论每个代码点是如何有 16 位的,但是 Unicode 支持超过 2^16 个 Unicode 平面的代码点。

但没有人解释 Unicode 字符串如何指示飞机。此外,这留下了 Unicode 字符串如何保存来自多个平面的字符的问题。

那么,Unicode 字符串中的平面是如何表示的呢?

4

2 回答 2

2

我在一个开源项目的手册中写了一章来解释这个主题(以及其他一些 Unicode 问题)。这是PDF 手册的链接(阅读第 10 章)。这是手册HTML 版本中该章节的链接。

于 2011-03-29T22:35:39.407 回答
2

有人可以随时纠正我,我自己还在学习 Unicode。

我认为您的困惑在于代码点和编码如何表示该代码点。每个代码点的位/字节数将取决于您的编码。让我们以最简单的 UTF-32 为例。UTF-32 使用,请打鼓 - 每个代码点 32 位。它可以直接表示每个平面中的每个 Unicode 字符。UTF-16 是一种可变长度编码。它将每个代码点编码为一个或两个代码单元。第一个平面使用单个代码单元表示。其余的,好吧,你可以在这里阅读更多关于它的信息。http://en.wikipedia.org/wiki/UTF-16http://en.wikipedia.org/wiki/UTF-8

本质上,如果编码支持特定平面,它们就存在并在编码中表示。在 UTF-32 的情况下,它比其他的更清楚。

于 2011-03-29T22:22:16.403 回答