Java中把byte数组转成string要utf-8的格式
时间: 2024-03-02 07:48:35 浏览: 14
在Java中,如果需要将byte数组按照UTF-8编码格式转换为字符串,可以使用String类的另外一个构造函数。具体的代码如下:
```java
byte[] byteArray = { 72, 101, 108, 108, 111 }; // 字节数组
String str = new String(byteArray, StandardCharsets.UTF_8); // 将字节数组按照UTF-8编码格式转换为字符串
System.out.println(str); // 输出:Hello
```
在这个构造函数中,第二个参数指定了编码格式,这里使用了标准的UTF-8编码。使用这个构造函数可以确保byte数组正确地被解析为UTF-8编码格式的字符串。
相关问题
java 中 将 byte 数组转换为 UTF-8 字符串
可以使用 `java.nio.charset.StandardCharsets` 类中的 `decode` 方法将 byte 数组转换为 UTF-8 字符串。示例代码如下:
```java
import java.nio.charset.StandardCharsets;
public class Example {
public static void main(String[] args) {
byte[] bytes = {72, 101, 108, 108, 111, 32, -26, -75, -117, -24, -81, -107, -26, -120, -111, -25, -116, -103, -28, -69, -68, -26, -105, -91, -27, -91, -101, -28, -72, -83, -28, -67, -96, -28, -72, -83, -27, -101, -67, -26, -120, -111, -25, -116, -103, -28, -69, -68, -26, -105, -91, -27, -91, -101, -28, -72, -83, -28, -67, -96, -28, -72, -83, -27, -101, -67};
String utf8String = new String(bytes, StandardCharsets.UTF_8);
System.out.println(utf8String);
}
}
```
输出:
```
Hello 世界こんにちは안녕세계สวัสดีโลก你好世界
```
注意,在将 byte 数组转换为字符串时,需要指定字符集,否则可能会出现乱码。在本例中,我们指定了字符集为 UTF-8。
java中byte数组转成String类型时乱码怎么解决
当将byte数组转换为String类型时,需要指定正确的字符编码,否则会出现乱码。可以使用以下代码将byte数组转换为String类型:
```java
byte[] bytes = ...; // 待转换的byte数组
String str = new String(bytes, "UTF-8"); // 指定字符编码,例如UTF-8
```
其中,"UTF-8"是字符编码名称,也可以根据实际情况选择其他编码名称。如果byte数组中存储的是其他编码格式的字符,也需要相应地修改字符编码名称。