GB2312编码,怎么判断其中一个字节是一个字符的高位字节还是低位字节

时间:2022-05-02 22:19:41
gb2312编码的汉字是2个字节。第一个字节是高位字节,第二个字节是低位字节。我怎么判断一个字节是高位还是低位。

其实我是想实现这样的功能。读取一个GB2312编码的文本文件到文件流中。然后再文件流中读取第1024至2048个字节到byte数组中。也就是第二个1k的数据。那个这个byte数组的第一个字节到底是高位还是低位的呢 。如果是低位的我就需要向后移一位,不然我把这个byte数组转换为字符串的话就出现大量乱码了。

4 个解决方案

#1


http://b88.photo.store.qq.com/psb?/V13wRMwG0EuQbP/mXbtpvdKGuY8*fi.te8gc422cVZl.nEFYCEua4Lyyts!/b/YYtJdTQhMgAAYgSfhzSOMgAA

#2


该回复于2012-07-10 12:55:32被版主删除

#3


该回复于2012-07-10 13:45:00被版主删除

#4


试试从第1024字节往前(或往后)找,定位到第一个小于128的字节。从这个字节开始(往前或往后)每两个字节(都大于128)组成一个汉字。

#1


http://b88.photo.store.qq.com/psb?/V13wRMwG0EuQbP/mXbtpvdKGuY8*fi.te8gc422cVZl.nEFYCEua4Lyyts!/b/YYtJdTQhMgAAYgSfhzSOMgAA

#2


该回复于2012-07-10 12:55:32被版主删除

#3


该回复于2012-07-10 13:45:00被版主删除

#4


试试从第1024字节往前(或往后)找,定位到第一个小于128的字节。从这个字节开始(往前或往后)每两个字节(都大于128)组成一个汉字。