您好,匿名用户
随意问技术百科期待您的加入

关于UTF-8的变长

+1 投票

UTF-8数据所占字节为什么会变呢?
汉字一般就是3字节,会不会变成4字节呢?什么情况下会变呢?

用户头像 提问 2012年 12月1日 @ Warwick 上等兵 (286 威望)
分享到:

1个回答

+1 投票
 
最佳答案

Unicode 对对字符进行编码,即给予每个字符一个独一无二的编码用于表示。

UTF-8则是存储编码,将具体的Unicode按照一定规则保存。UTF-8 的编码规则请参照这个地址

既然用于存储,也会涉及到传输,UTF-8使用变长的方式有节省空间、自动纠错性能好、利于传输、扩展性强等有点,劣势是不利于程序内部处理。

链接所指的网页里有对编码范围对应的字节长度做了一个整理,其中有提到当 Unicode 编码范围为0800 ~ FFFF 时,UTF-8 使用三个字节编码,而根据最新的CJK字符表,中文所在的范围是4E00 ~ 9FCF,也就是在这个范围内,所以一般(CJK 还有扩展字符集,其中 CJK Extension B 是从 U2000 开始的)不会使用 4 个字节编码。

用户头像 回复 2012年 12月1日 @ Talon 上等兵 (294 威望)
选中 2012年 12月1日 @Warwick
提一个问题:

相关问题

0 投票
1 回复 23 阅读
用户头像 提问 2014年 1月27日 @ Ryze 上等兵 (293 威望)
0 投票
1 回复 91 阅读
0 投票
1 回复 31 阅读
0 投票
1 回复 33 阅读
用户头像 提问 2012年 12月1日 @ Swain 上等兵 (232 威望)
0 投票
1 回复 53 阅读
用户头像 提问 2012年 12月1日 @ Tristana 上等兵 (285 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...