发布
社区首页 >问答首页 >unicode UTF-8,解码问题

unicode UTF-8,解码问题
EN

Stack Overflow用户
提问于 2018-01-08 09:29:33
回答 1查看 147关注 0票数 1

UTF-8是可变长度编码。如果字符可以用单个字节表示,例如:A(英文字母表A),UTF-8将用单个字节对其进行编码。如果它需要两个字节,它将使用两个字节,依此类推。现在考虑我编码A (01000001)あ(11100011 10000001 10000010)。这将作为连续空间存储在内存中: 01000001 11100011 10000001 10000010。

**它可能最终解码4个字符,其中每个字节都被视为字符,我的意思是这里的区别在哪里。

EN

回答 1

Stack Overflow用户

发布于 2018-01-08 12:10:35

UTF-8编码告诉程序每个编码码点有多少字节。任何以0xxxxxxx开头的字节都是从0到127的ASCII码字符。任何以10xxxxxx开头的字节都是连续字节,并且只能出现在开始字节之后:110xxxxx1110xxxx11110xxx分别指定下一个字节、两个字节或三个字节是连续字节。

如果没有正确的连续字节数,或者连续字节出现在错误的位置,那么该字符串就不是有效的UTF-8。一些程序利用这一点来尝试自动检测编码。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48143210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档