首页 新闻 会员 周边 捐助

GBK是怎么把byte数组转换为字符的

0
[已解决问题] 解决于 2014-04-03 10:47

比如有个byte数组 {229,143,176,95,124},GBK是按什么规则将这个byte数组解析为字符串的,原理是什么?

从229开始 碰到229大于127,于是知道这是一个汉字,用两位表示,取出 229,143,其中143为高位,229为低位 转换为汉字就是“鍙” 但是碰到一个小于127的是怎么处理的 它怎么知道是一个字母还是一个汉字的低字节?

王仙客的主页 王仙客 | 初学一级 | 园豆:12
提问于:2014-04-03 10:02
< >
分享
最佳答案
0

谢谢大家,是我自己理解有误,应该是汉字的首字节的范围在129-254,尾字节在范围在64-254.首字节对应低字节,尾字节对应高字节。对于byte数组,从0开始,如果碰到大于128的则取两位转换为一个汉字,如果碰到小于128的则按ASCII码转换。

王仙客 | 初学一级 |园豆:12 | 2014-04-03 10:46
其他回答(2)
0

按照码表来转换的。

Launcher | 园豆:45050 (高人七级) | 2014-04-03 10:09
0

所有的编码都是有编码规则的,

http://zh.wikipedia.org/wiki/GBK

吴瑞祥 | 园豆:29449 (高人七级) | 2014-04-03 10:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册