最近倒腾一下百度翻译的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