黑马程序员技术交流社区
标题:
将字节数组转换成字符串 转换完后的输出结果问题!
[打印本页]
作者:
马林贺
时间:
2012-6-1 12:19
标题:
将字节数组转换成字符串 转换完后的输出结果问题!
//将字节数组转换成字符串
//创建数组
byte []ch1={1,2,3,4,5,6,7,89,};
//循环输出
for(int i=0;i<ch1.length;i++)
{
Print(ch1[i]);
}
//字符串接收 转换对象输出
String stri=new String(ch1);
Print(stri);
复制代码
jieguo.jpg
(5.38 KB, 下载次数: 91)
下载附件
2012-6-1 12:18 上传
作者:
梁小波
时间:
2012-6-1 12:53
,6,7,89,};的89后面貌似没有逗号呀,{:soso_e127:}有逗号就有问题了。
作者:
王渠
时间:
2012-6-1 13:10
本帖最后由 王渠 于 2012-6-1 13:12 编辑
byte []ch1={1,2,3,4,5,6,7,89,};
//循环输出
for(int i=0;i<ch1.length;i++)
{
Print(ch1[i]);
}
//字符串接收 转换对象输出
String stri=new String(ch1);
Print(stri);
复制代码
可以告诉你,转换后的输出是没有问题的,因为你输入的是一个数组,
如果是这样
char data[] = {'1', '2', '3'};
String str = new String(data);
输出结构就会是123
如果是LZ代码中那样,
会去查对应码表的数值,因为89对应的是大写字母Y,所以最后显示了一个Y
作者:
王渠
时间:
2012-6-1 14:20
ASCII码字集符,白度就好了
作者:
马林贺
时间:
2012-6-1 14:22
王渠 发表于 2012-6-1 14:20
ASCII码字集符,白度就好了
懂了 谢谢了
作者:
吴扬
时间:
2012-6-2 11:31
因为你定义的是一个byte类型的数组,并不是char类型的数组,所以new String(ch1)这句话会去码表中查找这些元素所对应的值,所以显示出来就类似于乱码了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2