对\\uxx转换为unicode编码的\uxx_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 对\\uxx转换为unicode编码的\uxx

对\\uxx转换为unicode编码的\uxx

 2017/3/11 5:32:27  357029540  程序员俱乐部  我要评论(0)
  • 摘要:在业务过程中难免会遇到字符串转换为16进制的unicode编码的形式,转换为unicode编码后我们需要加上\u来表示unicode,因为“\”在java里面需要进行转义为"\\",所以拼接处理的unicode编码格式就是"\\uxx",因而我们需要对"\\uxx"转换为"\uxx"的unicode编码形式,实现的代码如下所示(参考的地方忘记连接了):publicclassStringToUnicode{publicstaticvoidmain(String[]args)
  • 标签: 编码

? ? ? ?在业务过程中难免会遇到字符串转换为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);
    }

}

?

发表评论
用户名: 匿名