首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

字胡数组转字符串,该怎么解决

2013-10-25 
字胡数组转字符串byte[] b{1,3,6,8,5,0,3,5,7,6,89}String strnew String(b)System.out.println(str)

字胡数组转字符串
byte[] b={1,3,6,8,5,0,3,5,7,6,89};
String str=new String(b);
System.out.println(str);

结果乱码怎么回事?
但当字节数组里的元素为字符时就没有问题
byte[] b2={'3','d','5','g','9','c','6',','};
String str2=new String(b2);
System.out.println(str2);

这是什么情况啊?
乱码 string
[解决办法]
byte数组存放的是asc码对应的十进制数字。
byte[] b={1,3,6,8,5,0,3,5,7,6,89};
其中 十进制ASCII码 0对应的是空格,89对应的Y,
所以,显示的乱码中,第6个是空格,最后一个是'Y'


byte[] b2={'3','d','5','g','9','c','6',','};
b2字节数组,存放的是各个字符的ascii码的十进制。
如果直接 print b2,会打印出
51,100,53,103,57,99,54,44
如果将b2转换成String, 则b2的各个十进制的ascii码将转换成各个字符。
所以没有问题。


热点排行