在开发中常常需要从配置文件中读取配置,但是在读取中文时可能会出现乱码,这时可以将中文转为Unicode编码,再读取,然后转码。在Api接口传输数据时也经常用到!
字符串转为Unicode编码
/**
* 将字符串转为Unicode编码
* @param string
* @return
*/
public static String encodeUnicode(String string){
StringBuffer unicode = new StringBuffer();
for (int i = 0; i < string.length(); i++) {
char c = string.charAt(i);
unicode.append("\\u" + Integer.toHexString(c));
}
return unicode.toString();
}
Unicode编码转为字符串
/**
* 将Unicode编码转为字符串
* @param unicode
* @return
*/
public static String decodeUnicode(String unicode){
if (!unicode.contains("\\u")){
return unicode;
}
StringBuffer string = new StringBuffer();
String[] hex = unicode.split("\\\\u");
for (int i = 1; i < hex.length; i++) {
int data = Integer.parseInt(hex[i], 16);
string.append((char) data);
}
return string.toString();
}