JAVA byte数组转为string乱码
时间: 2023-09-12 20:03:23 浏览: 228
java乱码转换
4星 · 用户满意度95%
当将byte数组转换为字符串时,需要指定字符集。如果没有指定字符集,则默认使用平台默认字符集。如果字节数组中包含的字节不是指定字符集的有效字符,则可能会出现乱码。
以下是将byte数组转换为字符串的示例代码:
```java
byte[] bytes = {72, 101, 108, 108, 111, 32, -27, -101, -67, -26, -106, -121};
String str = new String(bytes, "UTF-8");
System.out.println(str);
```
在上面的代码中,字节数组包含12个字节,前6个字节表示“Hello ”,后6个字节表示“世界”,使用UTF-8字符集将byte数组转换为字符串,输出结果为:
```
Hello 世界
```
如果使用了错误的字符集,则可能会出现乱码。例如,如果将上面的代码中的“UTF-8”改为“ISO-8859-1”,则输出结果将变为:
```
Hello ������
```
因为ISO-8859-1字符集不支持中文字符,所以将中文字符转换为了乱码。
阅读全文