为什么Delphi2009 +中的SizeOf(Char)= 2?

Wod*_*dzu 5 delphi unicode character-encoding

我想知道:从来没有Delphi版本的SizeOf(Char)= 2,但这还不足以存储unicode表中定义的字符的所有整数映射,对吧?(据我所知,有比65536更多的字符).那么这个问题是如何解决的?

也许两个字节用于编码Basic Multilingual Plane(BMP)中的所有字符?但是BMP之外的角色会发生什么?

有人可以点亮这个吗?

谢谢.

nne*_*neo 2

BMP 之外的字符串使用代理项进行编码,如 UTF-16 所示。