【发布时间】:2012-08-18 04:09:23
【问题描述】:
我想知道:SizeOf(Char) = 2 在从来没有 Delphi 版本中,但这不足以存储 unicode 表中定义的字符的所有整数映射,对吗? (据我所知,字符数超过 65536)。那么这个问题是如何解决的呢?
也许两个字节用于编码基本多语言平面 (BMP) 中的所有字符? 但是 BMP 之外的字符会发生什么?
有人能解释一下吗?
谢谢。
【问题讨论】:
-
它们是 Windows 宽字符 (wchar_t),它是 16 位的兼容性。使用 UTF-16 编码的外部字符
-
由于 Unicode 代理功能,您永远无法确定 BMP 中的 Unicode 字形是否会在一个 UCS4 映射字符内编码。所以使用 UTF-16 编码是没有问题的,就像 Windows 中的任何地方一样。
标签: delphi unicode character-encoding