Java中如何把GBK编码的字符串转成utf-8编码
发布网友
发布时间:2022-04-24 09:43
我来回答
共1个回答
热心网友
时间:2022-06-18 15:16
我先解释一下我对你的问题的理解
:
你的问题有点笼统
可以这么理解两个意思
:
一
,你是想吧一个gbk编码的字符串用utf-8格式来编码
String
s
=
new
String
("全国".getBytes("GBK"),"GBK");
虽然这个时候的s是GBK编码的
但是s还是中文字符的
所以
上面这位同胞用
new(s.getBytes("GBK"),"UTF-8")的方式肯定是错的
应该用
String
s1
=
new
String
(s.getBytes("UTF-8"),"UTF-8")
这样s1就是UTF-8编码的字符串了
二,如果是遇见乱码问题
比如
String
s
=
new
String
("全国".getBytes("GBK"),"GBK");
这样的s就是gbk编码的
现在你要把GBK格式的编码用UTF-8去编码
肯定就会出现乱码
String
s2
=
new
String(s.getBytes("GBK"),"UTF-8");
这个s2肯定是乱码的
而且这样就根本解不出来了
系统出现的乱码显示的时候才会出现编码错误
所以
一般出现乱码
只要把输入流换个编码解析一下就ok了
还有什么不明白
可以问我