&x变换为汉字
&#x转换为汉字
路遇&#x,研究一下发现就是Unicode不同之处在于%u换成了&#x,还有就是后面多了个分号。
给出转换方法,自己留着备用:
public static StringBuffer decodeUnicode(String dataStr) { dataStr=dataStr.replace("&#x", "\\u"); final StringBuffer buffer = new StringBuffer(); String tempStr = ""; String operStr = dataStr; if (operStr != null && operStr.indexOf("\\u") == -1) return buffer.append(operStr); if (operStr != null && !operStr.equals("") && !operStr.startsWith("\\u")) { tempStr = operStr.substring(0, operStr.indexOf("\\u")); operStr = operStr.substring(operStr.indexOf("\\u"), operStr .length()); } buffer.append(tempStr); while (operStr != null && !operStr.equals("") && operStr.startsWith("\\u")) { tempStr = operStr.substring(0, 6); operStr = operStr.substring(7, operStr.length()); String charStr = ""; charStr = tempStr.substring(2, tempStr.length()); char letter = (char) Integer.parseInt(charStr, 16); buffer.append(new Character(letter).toString()); if (operStr.indexOf("\\u") == -1) { buffer.append(operStr); } else { tempStr = operStr.substring(0, operStr.indexOf("\\u")); operStr = operStr.substring(operStr.indexOf("\\u"), operStr .length()); buffer.append(tempStr); } } return buffer; }