byte[] 和 String 互转中个别数据会出现乱码,这是为什么?

2025-02-26 10:11:01
推荐回答(1个)
回答1:

转换时使用"UTF-16LE",确保所有string字符转成两个byte变量,大部分数据没有问题,但是发现byte[] b = new byte[]{20, -35}时,出问题了。 代码如下:byte[] b = new byte[]{20, -35}; byte[] n = new String(b).getBytes(); String str = null;try{str = new String(b,"UTF-16LE"); n = str.getBytes("UTF-16LE");}catch(UnsupportedEncodingException e){ e.printStackTrace();}System.out.println(str); System.out.println("n-------------------------------------------");