我已阅读 Joel 的文章并进行了大量搜索。每个关于 Unicode 的站点和文章都在讨论每个代码点是如何有 16 位的,但是 Unicode 支持超过 2^16 个 Unicode 平面的代码点。
但没有人解释 Unicode 字符串如何指示飞机。此外,这留下了 Unicode 字符串如何保存来自多个平面的字符的问题。
那么,Unicode 字符串中的平面是如何表示的呢?
有人可以随时纠正我,我自己还在学习 Unicode。
我认为您的困惑在于代码点和编码如何表示该代码点。每个代码点的位/字节数将取决于您的编码。让我们以最简单的 UTF-32 为例。UTF-32 使用,请打鼓 - 每个代码点 32 位。它可以直接表示每个平面中的每个 Unicode 字符。UTF-16 是一种可变长度编码。它将每个代码点编码为一个或两个代码单元。第一个平面使用单个代码单元表示。其余的,好吧,你可以在这里阅读更多关于它的信息。http://en.wikipedia.org/wiki/UTF-16和http://en.wikipedia.org/wiki/UTF-8。
本质上,如果编码支持特定平面,它们就存在并在编码中表示。在 UTF-32 的情况下,它比其他的更清楚。