当前位置: 代码迷 >> J2SE >> 用UTF-8解析GBK的有关问题
  详细解决方案

用UTF-8解析GBK的有关问题

热度:76   发布时间:2016-04-23 19:45:05.0
用UTF-8解析GBK的问题,
GBK编码文件下就一个中文字符“我”
现在字节流读取它的两个字节。
在平台UTF-8编码下显现的乱码字符getbytes后,得到6个字节。


就是这里不清楚,GBK的两个字节怎么就被UTF-8解析成字符了(尽管是乱码)

然后再生成UTF-8的字节,怎么就不一样了呢???
------解决思路----------------------
不清楚你说的 UTF-8 解析 GBK 是什么意思。
编码转换是先把数据读取成字符再编码成 byte.

比如:

// 别人发送给你时用 GBK 编码:
String data = "这是一句中文";
byte[] GBK = data.getBytes("GBK");

socketOutputStream.write(GBK);

// 你收到后:
byte[] received = socketInputStream....();

String decoded = new String(received, "GBK"); // 用对方的编码方式来解码

byte[] encoded = decoded.getBytes("UTF-8"); // 再编码成 UTF-8 转发给第3方。

  相关解决方案