Byte 转 utf-8 的字符串
时间: 2023-09-29 14:06:34 浏览: 46
在 Java 中,可以通过使用 StandardCharsets 类提供的 UTF_8 编码格式来将 byte 数组转换为 UTF-8 字符串。示例如下:
```java
import java.nio.charset.StandardCharsets;
public class ByteToUtf8String {
public static void main(String[] args) {
byte[] bytes = new byte[]{72, 101, 108, 108, 111, 32, -26, -120, -111, -25, -121, -69, -25, -115, -97};
String str = new String(bytes, StandardCharsets.UTF_8);
System.out.println(str);
}
}
```
输出结果为:
```
Hello 世界
```
其中,byte 数组中的前 6 个元素表示字符串 "Hello " 的 ASCII 码值,接下来的 6 个元素表示字符串 "世界" 的 UTF-8 编码值。通过使用 UTF-8 编码格式,我们可以将这些 byte 转换为字符串。
相关问题
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字符串编码转换utf-8
Java中字符串的编码转换可以通过使用Java内置的String类和Charset类来实现。以下是一个将字符串从默认编码转换为UTF-8编码的示例代码:
```java
String str = "需要转换编码的字符串";
byte[] utf8Bytes = str.getBytes("UTF-8"); // 将字符串转换为UTF-8编码的字节数组
String utf8Str = new String(utf8Bytes, "UTF-8"); // 将字节数组转换为UTF-8编码的字符串
```
在这个示例中,我们首先使用String类的getBytes()方法将字符串转换为UTF-8编码的字节数组。然后,我们再使用String类的构造函数将字节数组转换为UTF-8编码的字符串。
需要注意的是,使用getBytes()方法时需要指定正确的字符集,否则可能会得到错误的结果。同样,使用String类的构造函数时也需要指定正确的字符集。