(计算机/Unicode)代理对:在 UTF-16 编码中,用两个 16 位代码单元(一个高位代理 + 一个低位代理)共同表示一个超出基本多文种平面(BMP,U+0000–U+FFFF)的 Unicode 字符(通常是 U+10000 及以上,例如很多表情符号、部分历史文字)。
The emoji is stored as a surrogate pair in UTF-16.
这个表情符号在 UTF-16 中以代理对的形式存储。
If you iterate over the string by 16-bit units, you may split a surrogate pair and corrupt characters outside the BMP.
如果你按 16 位单元遍历字符串,可能会把代理对拆开,从而破坏 BMP 之外的字符。
/ˈsʌrəɡət per/
surrogate 来自拉丁语 surrogatus(“替代的、代替者”),在这里表示“用来代替/代理表达某物的单位”;pair 表示“一对”。合起来就是“用一对单位来代理表示一个字符”。