请教一个字节数组的问题!!!!! (GBK 编码) 一个字节数组 ,结尾是完整的,但是开头有可能出现半个字符,就是乱码,怎样判断字符数组的开头是否是个不完整的字符, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 晕,已经是BYTE数组了,现在就是怎么判断的问题 没有绝对有效的办法,只能用这个规则来大致判断:“GBK采用双字节表示,总体编码范围为8140-FEFE,首字节在81-FE 之间,尾字节在40-FE 之间”所以,如果你发现第一个字节如果小于 0x81,说明其应该是尾字节。那么以此推论的话,假设你发现 0、2、4、6、8 下标的byte,小于0x81,说明很可能错位了半个字符。更准确的直接判定方式就没有了。 关键是 第二字节会和asc吗有重复范围,这样岂不是无法判断了 如果我第一个字节就在这个重复范围内,那我不是无法判断是asc,还是半个字符吗,GBK这么坑爹吗 比如你已经转吧字符换成0x81了,按自己设定好的密匙,在后面加上xxx,传送后,再按规律截取0x81,再转换为字符就可以了 实际上它就是这么坑爹。从你的想法来说,用UTF-8会比较好些;它可以识别出该byte是否是完整的。另外,如果你非常需要可靠传输,可以考虑在传输之前每个有效字符直接插入分割符,比如:0x0 用hibernate写个类似与jdbc的工具类,发现了好多问题 请教各位java导Excel的问题 在servlet中是否能起一个线程? 动态传参的问题 ibatis 调用存储过程返回游标 struts 的资源文件中文问题 (不是网上搜的那些普遍问题) spring中TransactionProxyFactoryBean干啥的?为什么要配置这个东西? Weblucene中查詢多字段怎麼做? 系统该如何配置找到java:comp/env 关于jTree控件,高手请进 我想写一个java做的一个url获取工具 求各位大侠指点 J2EE开发的未来
“GBK采用双字节表示,总体编码范围为8140-FEFE,首字节在81-FE 之间,尾字节在40-FE 之间”所以,如果你发现第一个字节如果小于 0x81,说明其应该是尾字节。那么以此推论的话,假设你发现 0、2、4、6、8 下标的byte,小于0x81,说明很可能错位了半个字符。更准确的直接判定方式就没有了。
另外,如果你非常需要可靠传输,可以考虑在传输之前每个有效字符直接插入分割符,比如:0x0