完美处理unicode码与其他字符串混合的字符串
方法一:
public static String decode(String unicodeStr) {if (unicodeStr == null) {return null;}StringBuffer retBuf = new StringBuffer();int maxLoop = unicodeStr.length();for (int i = 0; i < maxLoop; i++) {if (unicodeStr.charAt(i) == '\\') {if ((i < maxLoop - 5)&& ((unicodeStr.charAt(i + 1) == 'u') || (unicodeStr.charAt(i + 1) == 'U')))try {retBuf.append((char) Integer.parseInt(unicodeStr.substring(i + 2, i + 6), 16));i += 5;} catch (NumberFormatException localNumberFormatException) {retBuf.append(unicodeStr.charAt(i));}elseretBuf.append(unicodeStr.charAt(i));} else {retBuf.append(unicodeStr.charAt(i));}}return retBuf.toString();}
方法二:
使用org.apache.commons.lang.StringEscapeUtils#unescapeJava(String)方法