课程
/后端开发
/Java
/文件传输基础——Java IO流
比如 byte[] byte1={34,57};
String str=new String(byte1);
syso(str);
输出结果是乱码的
2015-11-02
源自:文件传输基础——Java IO流 1-1
正在回答
String 有很多构造方法的,输出结果乱码的话,你可以指定一下字符集编码。
String str = new String(byte1,"UTF-8");
如果还是乱码,可以把 UTF-8,换成其他字符集编码,比如GBK。
输出乱码是码表的原因 如果是的字节数组中的数值正好可以被默认码表解析出来 有对应的汉字 那么就不是乱码了
(⊙o⊙)… syso不是快捷键吗? 以为都大家都懂呢
看到老师把byte[]传给String 所以我就想试试 结果输出是乱码
byte[] byteGrp={34,57}; String str=new String(byteGrp); System.out.println(str);
首先,这个是在eclipse运行一下就可以验证的问题,
另外我不明白这个有什么实用意义,String其实是字符数组,为什么非要用到了byte数组来拼成,你告诉我什么项目遇到了这样的需求吧~
第三行syso(str)我就怀疑你故意写错的,正如名字“愚人船”~
举报
为您介绍IO流的使用,以及对象的序列化和反序列化的内容
2 回答关于byte数组的问题
3 回答byte[] buf = new byte[(int)raf.length()];为什么创建了数组的内容?
1 回答请问为什么把byte字节数组的元素b转化为16进制 需要&0xff
1 回答在输出byte[]数组的buf[i]时,会输出一个int型的4字节的数
2 回答buf是byte数组,不管buf多大,只要按照下面这么写就一定会把文件内容读完是么