java 汉字转Unicode

来源:互联网 发布:淘宝6年店铺蓝冠 编辑:程序博客网 时间:2024/05/22 16:45
  1. <span class="comment" style="background-color: rgb(250, 250, 250); font-size: 1em; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; padding: 0px; margin: 0px; width: auto; border: 0px;">/**</span><span style="color: black; background-color: rgb(250, 250, 250); font-size: 1em; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace;"> </span>
  2.     * 汉字转Unicode 
  3.     * @param s 
  4.     * @return 
  5.     */  
  6.    public static String charToUnicode(final String s){  
  7.        String str = "";  
  8.        for (int i = 0; i < s.length(); i++) {  
  9.        int ch = (int) s.charAt(i);  
  10.        str += "\\u" + Integer.toHexString(ch);  
  11.        }  
  12.        return str;  
  13.    }  
  14.    /** 
  15.     * Unicode转汉字 
  16.     * @param str 
  17.     * @return 
  18.     */  
  19.    public static String unicodeToChar(String str){  
  20.        Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");  
  21.        Matcher matcher = pattern.matcher(str);  
  22.        char ch;  
  23.        while (matcher.find()) {  
  24.        ch = (char) Integer.parseInt(matcher.group(2), 16);  
  25.        str = str.replace(matcher.group(1), ch + "");  
  26.        }  
  27.        return str;  
  28.    }

/** * unicode编码转汉字 * @param utfString * @return *  * String */public static String convertUnicodeToChar(String utfString){StringBuilder sb = new StringBuilder();int i = -1;int pos = 0;while((i=utfString.indexOf("\\u", pos)) != -1){sb.append(utfString.substring(pos, i));if(i+5 < utfString.length()){pos = i+6;sb.append((char)Integer.parseInt(utfString.substring(i+2, i+6), 16));}}sb.append(utfString.substring(pos, utfString.length()));return sb.toString();}

0 0
原创粉丝点击