比如有个byte数组 {229,143,176,95,124},GBK是按什么规则将这个byte数组解析为字符串的,原理是什么?
从229开始 碰到229大于127,于是知道这是一个汉字,用两位表示,取出 229,143,其中143为高位,229为低位 转换为汉字就是“鍙” 但是碰到一个小于127的是怎么处理的 它怎么知道是一个字母还是一个汉字的低字节?
谢谢大家,是我自己理解有误,应该是汉字的首字节的范围在129-254,尾字节在范围在64-254.首字节对应低字节,尾字节对应高字节。对于byte数组,从0开始,如果碰到大于128的则取两位转换为一个汉字,如果碰到小于128的则按ASCII码转换。
按照码表来转换的。
所有的编码都是有编码规则的,
http://zh.wikipedia.org/wiki/GBK