byte[]转字符串时乱码

刘墨泽 2019-08-13 11:18:41
代码如下,想把byte数组转为字符串,但是打印出来的是乱码,请问是编码问题吗?
尝试使用默认编码也不行。

byte [] sz_crc=new byte[6];
sz_crc[0]=0x01;
sz_crc[1]=0x03;
sz_crc[2]=0x00;
sz_crc[3]=0x23;
sz_crc[4]=0x00;
String string;
try {
string = new String(sz_crc,"utf-8");
System.out.println(string);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
打印结果:

...全文
659 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
天行归来 2019-08-13
  • 打赏
  • 举报
回复
你是想要什么样输出结果?是不是如下: 1 3 0 39 0
淡青の月 2019-08-13
  • 打赏
  • 举报
回复
String(byte[] bytes,String charsetName)
是将byte数组中的字节以unicode码转换成字符串,1,2对应的就是你那两个问号,0对应的是空格,35对应的是#

50,547

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧