java gbk utf-8互转
时间: 2023-05-03 11:05:50 浏览: 142
Java中可以使用一些工具类和库来实现GBK和UTF-8的互相转换。常见的方法如下:
1. 使用String类的getBytes()方法将字符串编码为字节数组,在将字节数组重新编码为另一种编码格式的字符串。例如,将GBK编码的字符串转换为UTF-8编码的字符串,代码如下:
String str = "中国";
byte[] bytes = str.getBytes("GBK");
String utf8Str = new String(bytes, "UTF-8");
2. 使用InputStreamReader和OutputStreamWriter类进行编码格式的转换,例如将GBK编码的文件转换为UTF-8编码的文件:
FileInputStream fis = new FileInputStream("gbkfile.txt");
InputStreamReader isr = new InputStreamReader(fis, "GBK");
FileOutputStream fos = new FileOutputStream("utf8file.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
char[] buffer = new char[1024];
int len;
while ((len = isr.read(buffer)) != -1) {
osw.write(buffer, 0, len);
}
isr.close();
osw.close();
需要注意的是,转换编码时需要考虑两种编码格式的字符集是否一致,如果不一致会导致乱码或转换错误的情况。
阅读全文