阅读有关 UTF-8 的 Wikipedia 文章,我一直想知道overlong一词。这个术语被多次使用,但文章没有为其含义提供定义或参考。
我想知道是否有人可以解释该术语及其用途。
阅读有关 UTF-8 的 Wikipedia 文章,我一直想知道overlong一词。这个术语被多次使用,但文章没有为其含义提供定义或参考。
我想知道是否有人可以解释该术语及其用途。
它是一个代码点的编码,它需要比它需要的更多的代码单元。
例如,U+0020 在 UTF-8 中由单字节表示0x20
。如果你0xc0 0xa0
以正常方式解码这两个字节,你仍然会回到 U+0020,但这是一个无效的表示。
Unicode Corrigendum #1有更多信息,特别是在表 3.1B 周围。
UTF-8 理论上允许字符的不同表示形式也具有较短的字符。例如,您可以通过将 MSB 设置为零来将 ASCII 字符编码为两个字节。UTF-8 规范明确禁止这样做。