JAVA怎么把unicode转换成GBK ~然后我的JAVA代码里出现了乱码导致运行不了,你能帮我吗?
3个回答
展开全部
\u2605 ★
public static String utf8ToUnicode(String str) {
char[] myBuffer = str.toCharArray();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
UnicodeBlock ub = UnicodeBlock.of(myBuffer[i]);
if(ub == UnicodeBlock.BASIC_LATIN){
//英文及数字等
sb.append(myBuffer[i]);
}else if(ub == UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS){
//全角半角字符
int j = (int) myBuffer[i] - 65248;
sb.append((char)j);
}else{
//汉字
short s = (short) myBuffer[i];
String hexS = Integer.toHexString(s);
String unicode = "\\" + 'u' + hexS;
sb.append(unicode.toLowerCase());
}
}
return sb.toString();
}
public static String utf8ToUnicode(String str) {
char[] myBuffer = str.toCharArray();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
UnicodeBlock ub = UnicodeBlock.of(myBuffer[i]);
if(ub == UnicodeBlock.BASIC_LATIN){
//英文及数字等
sb.append(myBuffer[i]);
}else if(ub == UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS){
//全角半角字符
int j = (int) myBuffer[i] - 65248;
sb.append((char)j);
}else{
//汉字
short s = (short) myBuffer[i];
String hexS = Integer.toHexString(s);
String unicode = "\\" + 'u' + hexS;
sb.append(unicode.toLowerCase());
}
}
return sb.toString();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
项目里面的么?那就在项目上右键选最下面那个propertis 然后选Resource 有个text encoding。。。选你要的编码方式么。
追问
~~ 编码已经存在了,按照你说的没有用,急啊,还有什么方法吗?可以把乱码转换回来嘛?
追答
你改成UTF-8 试试。。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
new String(new String("中国").getBytes(),"GBK")
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询