字符可以包含多个代码点

Unicode 代码点,程序员经常想到的一个字符,通常对应于用户认为是一个字符的内容。然而,有时候字符由多个代码点组成,如上面的例子所示。

这意味着切片字符串或获取给定索引处的字符等操作可能无法按预期工作。例如,字符串 Café 4 字符是'e'(没有重音)。同样,将字符串剪切为长度 4 将删除重音。

这类代码点的技术术语是字形集群。请参阅 UAX#29:Unicode 文本分段