术语“代理对”是指以UTF-16编码方案对具有高代码点的Unipre字符进行编码的方式。
在Unipre字符编码中,字符映射到0x0到0x10FFFF之间的值。
在内部,Java使用UTF-16编码方案来存储Unipre文本字符串。在UTF-16中,使用16位(两个字节)的代码单元。由于16位只能包含从0x0到0xFFFF的字符范围,因此使用一些额外的复杂度来存储超出此范围的值(0x10000到0x10FFFF)。这是使用成对的代码单元(称为代理)完成的。
替代代码单元在两个范围内,称为“高替代”和“低替代”,这取决于在两个代码单元序列的开始还是结尾都允许它们。



