java把utf8转为gbk
时间: 2024-06-15 12:01:54 浏览: 182
在Java中,将UTF-8编码转换为GBK编码,你可以使用`java.nio.charset`包中的`Charset`和`InputStreamReader`或者`OutputStreamWriter`类来完成这个操作。以下是一个简单的示例:
```java
import java.io.*;
import java.nio.charset.Charset;
public class Utf8ToGbkConverter {
public static void main(String[] args) throws IOException {
String utf8String = "你好,世界!"; // UTF-8字符串
Charset utf8Charset = Charset.forName("UTF-8");
Charset gbkCharset = Charset.forName("GBK");
// 将UTF-8字符串写入到字节数组
byte[] utf8Bytes = utf8String.getBytes(utf8Charset);
// 创建一个字节输入流,用于读取UTF-8字节
ByteArrayInputStream bais = new ByteArrayInputStream(utf8Bytes);
// 创建一个GBK字符输入流
InputStreamReader reader = new InputStreamReader(bais, gbkCharset);
// 创建一个新的缓冲edReader来逐行读取GBK编码的字符
BufferedReader bufferedReader = new BufferedReader(reader);
// 逐行读取并打印GBK字符串
String gbkLine;
while ((gbkLine = bufferedReader.readLine()) != null) {
System.out.println(gbkLine);
}
// 关闭流
bufferedReader.close();
reader.close();
}
}
```
在这个示例中,我们首先将UTF-8字符串转换成字节数组,然后创建一个GBK字符输入流,读取UTF-8字节,并逐行输出GBK编码的字符串。
阅读全文