? ? ? ?在业务过程中难免会遇到字符串转换为16进制的unicode编码的形式,转换为unicode编码后我们需要加上\u来表示unicode,因为“\”在java里面需要进行转义为"\\",所以拼接处理的unicode编码格式就是"\\uxx",因而我们需要对"\\uxx"转换为"\uxx"的unicode编码形式,实现的代码如下所示(参考的地方忘记连接了):
class="java" name="code">public class StringToUnicode { public static void main(String [] args){ String kk= "\\\\u12\\\\u6"; String result= ""; StringBuffer buf = new StringBuffer(); Matcher m = Pattern.compile("\\\\u([0-9A-Fa-f]{0,4})").matcher(kk); while (m.find()) { try { //Integer cp = Integer.parseInt(m.group(1), 16); m.appendReplacement(buf, ","); buf.append("u"); for(int i = 0;i < 4 - m.group(1).length();i++){ buf.append(0); } buf.append(m.group(1)); } catch (NumberFormatException e) { } } m.appendTail(buf); result = buf.toString(); System.out.println(result); } }
?