黑马程序员技术交流社区

标题: java byte转char 中文乱码~不是byte[] [打印本页]

作者: taojunqiu225    时间: 2015-8-23 23:59
标题: java byte转char 中文乱码~不是byte[]
直接看代码 这是一个例子
public static void main(String[] args){
String s = "111aaa啊啊啊";
byte[] b = s.getBytes();
for(int i=0;i<b.length;i++){
byte a = b[i];
char c= (char) a;
System.out.print(a);
}
}
输出之后是494949979797-80-95-80-95-80-95
如果输出C 则结果是111aaa??????
可以看到1代表49  a代表97  而80-95代表一个汉字 但程序无法解析这个4位的汉字 请问怎么样才能将单个byte转为汉字的char?据我所知char是可以容纳一个汉字的  但是这里强制转换之后 汉字是乱码 说明在转换的过程中 程序是按照XX两个数字等于一个字符来转换 遇到XX-XX 也是拆开以XX两位的来转换 所以出现乱码   这个问题是我在做jpcap抓包时发现有乱码的 这里只是一个例子但意思应该都相同 想看看这里有没有高手能解决的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2