java怎么把UTF-8字符串转成GBK字符串?
我从用TCP接收其它程序发给我的字符串,但它那边用的是UTF-8,我用的是GBK,所以我接收的字符串是乱码。我需要写一个方法把接收的乱码字符串转成非乱码。********...
我从用TCP接收其它程序发给我的字符串,但它那边用的是UTF-8,我用的是GBK,所以我接收的字符串是乱码。
我需要写一个方法把接收的乱码字符串转成非乱码。
**********************************************************************
String str="锻靛懙";
这是我接收的一个字符串,在UTF-8下是"呵呵",在GBK下显示的是上面那个鸟样子。
我要怎么做才能把它转成GBK?或则让在GBK下显示不是乱码?
public static String GetStrUTF(String str){
String s=str;
try {
s = URLDecoder.decode(s,"utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return s;
}
上面这个方法是我用过的,无效。
所以,来点别的? 展开
我需要写一个方法把接收的乱码字符串转成非乱码。
**********************************************************************
String str="锻靛懙";
这是我接收的一个字符串,在UTF-8下是"呵呵",在GBK下显示的是上面那个鸟样子。
我要怎么做才能把它转成GBK?或则让在GBK下显示不是乱码?
public static String GetStrUTF(String str){
String s=str;
try {
s = URLDecoder.decode(s,"utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return s;
}
上面这个方法是我用过的,无效。
所以,来点别的? 展开
3个回答
展开全部
java不同编码之间进行转换,都需要使用unicode作为中转。
以utf-8转gbk为例,示例代码如下:
String t = "这是一个字符串aaa111";
String utf8 = new String(t.getBytes( "UTF-8"));
System.out.println(utf8);
String unicode = new String(utf8.getBytes(),"UTF-8");
System.out.println(unicode);
String gbk = new String(unicode.getBytes("GBK"));
System.out.println(gbk);
展开全部
byte[] fullByte1 = new String(str.getBytes("ISO-8859-1"), "UTF-8")
.getBytes("GBK");
String fullStr = new String(fullByte1, "GBK");
追问
。。。。。
byte[] Byte = new String(str.getBytes("ISO-8859-1"), "UTF-8").getBytes("GBK");
s = new String(Byte, "GBK");
。。。。
return S,
这样写,哪错了?貌似没用啊。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.net.URLEncoder;
URLEncoder.encode(String,"GBK")
上面才是正解,其他回答不要误人子弟
觉得有用的兄弟点个赞吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询