A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

直接看代码 这是一个例子
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抓包时发现有乱码的 这里只是一个例子但意思应该都相同 想看看这里有没有高手能解决的

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马