String的GBK编码转UTF-8
时间: 2023-07-18 22:03:23 浏览: 152
GBK转UTF-8
可以通过以下步骤把GBK编码的String转换成UTF-8编码的String:
1. 创建一个GBK编码的字节数组,把原始的String转换成字节数组,例如:
```
String str = "中文";
byte[] gbks = str.getBytes("GBK");
```
2. 把GBK编码的字节数组转换成UTF-8编码的字节数组,可以使用 `Charset` 类的 `decode` 方法,例如:
```
ByteBuffer buffer = ByteBuffer.wrap(gbks);
CharBuffer charBuffer = Charset.forName("GBK").decode(buffer);
ByteBuffer utf8Buffer = Charset.forName("UTF-8").encode(charBuffer);
byte[] utf8s = utf8Buffer.array();
```
3. 把UTF-8编码的字节数组转换成String,例如:
```
String utf8Str = new String(utf8s, "UTF-8");
```
这样就完成了从GBK编码的String到UTF-8编码的String的转换。
阅读全文