为了账号安全,请及时绑定邮箱和手机立即绑定

可以把普通byte数组传给String吗?

比如  byte[] byte1={34,57};

String str=new String(byte1);

syso(str);

输出结果是乱码的

正在回答

4 回答

String 有很多构造方法的,输出结果乱码的话,你可以指定一下字符集编码。

String str = new String(byte1,"UTF-8");

如果还是乱码,可以把 UTF-8,换成其他字符集编码,比如GBK。

1 回复 有任何疑惑可以回复我~

输出乱码是码表的原因 如果是的字节数组中的数值正好可以被默认码表解析出来 有对应的汉字 那么就不是乱码了

0 回复 有任何疑惑可以回复我~

(⊙o⊙)…  syso不是快捷键吗? 以为都大家都懂呢

看到老师把byte[]传给String   所以我就想试试   结果输出是乱码

0 回复 有任何疑惑可以回复我~

byte[] byteGrp={34,57};
        String str=new String(byteGrp);
        System.out.println(str);


首先,这个是在eclipse运行一下就可以验证的问题,

另外我不明白这个有什么实用意义,String其实是字符数组,为什么非要用到了byte数组来拼成,你告诉我什么项目遇到了这样的需求吧~

第三行syso(str)我就怀疑你故意写错的,正如名字“愚人船”~

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

可以把普通byte数组传给String吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信