JAVA转换Unicode与汉字兼容里面位置有字母数字组合

 

最近倒腾一下百度翻译的api,发现返回的信息是unicode代码的,需要转换一下

1
2
3
4
5
6
7
8
/**
* 字符串转unicode
* @param str
* @return
*/
public static String stringToUnicode(String s) {
String str = "";
for (int i = 0; i < s.length(); i++) {
int ch = (int) s.charAt(i);
if (ch > 255)
// toHexString() 方法返回为无符号整数基数为16的整数参数的字符串表示形式
str += "\\u" + Integer.toHexString(ch);
else
str += "\\" + Integer.toHexString(ch);
}
return str;
}

 

1
2
3
4
5
6
7
8
/**
* unicode转字符串,不转换数字和字母
* @param unicode
* @return
*/
 
public static String unicodeToString(String str) {
Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");
Matcher matcher = pattern.matcher(str);
char ch;
while (matcher.find()) {
ch = (char) Integer.parseInt(matcher.group(2), 16);
str = str.replace(matcher.group(1), ch + "");
}
return str;
}

 

https://blog.csdn.net/songylwq/article/details/87890361

文章来源于网络或者作者投稿,若有侵权请联系删除,作者:老钟,如若转载,请注明出处:https://www.laoz.net/1069.html

(1)
上一篇 2020 年 05 月 16 日
下一篇 2020 年 07 月 03 日

相关推荐