gbk转utf8中文乱码 java
时间: 2023-07-24 19:48:32 浏览: 98
在 Java 中,将 GBK 编码的字符串转换为 UTF-8 编码的字符串需要进行编码转换。可以使用 Java 提供的 Charset 类来实现。
以下是一个示例代码:
```java
import java.nio.charset.Charset;
public class GbkToUtf8 {
public static void main(String[] args) {
String gbkStr = "中文";
Charset gbkCharset = Charset.forName("GBK");
Charset utf8Charset = Charset.forName("UTF-8");
byte[] gbkBytes = gbkStr.getBytes(gbkCharset);
String utf8Str = new String(gbkBytes, utf8Charset);
System.out.println(utf8Str);
}
}
```
在这个示例中,我们将字符串 "中文" 从 GBK 编码转换为 UTF-8 编码。首先,我们需要获取 GBK 编码和 UTF-8 编码所对应的 Charset 对象。然后,我们将 GBK 编码的字符串转换为 byte 数组,接着再将这个 byte 数组从 UTF-8 编码转换为字符串。最后,我们输出转换后的 UTF-8 字符串。
如果你还遇到了中文乱码问题,可能是因为在输出转换后的字符串时,没有指定正确的字符编码。你可以在输出语句中使用 `System.out.println(new String(utf8Str.getBytes("UTF-8"), "UTF-8"));` 来指定字符编码。
阅读全文