在UTF-8中,我的理解(这可以通过维基百科确认)是ASCII中的任何字符都需要一个字节,而U+07FF
以内的任何字符都需要两个字符。所以,我假设字符›
(›
)应该用两个字节编码,因为它在正确的范围内(代码点是U+009B
)。
但是,当我在浏览器的控制台(Firefox)中键入以下内容时,它会给我3而不是2:
unescape(encodeURI("›")).length
(来自https://gist.github.com/mathiasbynens/1010324)
显示UTF-8编码字符长度的网站似乎同意 - 为什么?
答案 0 :(得分:2)
The ›
character is U+203A
,而不是U+009B
(这是一个不可打印的转义码,"control sequence introducer")。