欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java将汉字转换\uxxx方式,java汉字转换uxxx,import java.

来源: javaer 分享于  点击 15421 次 点评:225

Java将汉字转换\uxxx方式,java汉字转换uxxx,import java.


import java.util.regex.Matcher;import java.util.regex.Pattern;/** * String and Unicode convert each other. * @author    yzh.lin * @since    2012-08-09 *  */public class UnicodeConverter {    private static final Pattern REG_UNICODE = Pattern.compile("[0-9A-Fa-f]{4}");      private static final Pattern EN_CODE = Pattern.compile("[A-Za-z]{4}");      public static String unicode2String(String str) {          StringBuilder sb = new StringBuilder();          int len = str.length();          for (int i = 0; i < len; i++) {              char c1 = str.charAt(i);              if (c1 == '\\' && i < len - 1) {                  char c2 = str.charAt(++i);                  if (c2 == 'u' && i <= len - 5) {                      String tmp = str.substring(i + 1, i + 5);                      Matcher matcher = REG_UNICODE.matcher(tmp);                      if (matcher.find()) {                          sb.append((char) Integer.parseInt(tmp, 16));                          i = i + 4;                      } else {                          sb.append(c1).append(c2);                      }                  } else {                      sb.append(c1).append(c2);                  }              } else {                  sb.append(c1);              }          }          return sb.toString();      }     /**     * Convert the whole String object.     * @param str     * @return     */    public static String string2Unicode(String str)    {        StringBuilder sb=new StringBuilder();        for(int i=0;i<str.length();i++)        {            String tmpStr = Integer.toHexString(str.charAt(i));            if(tmpStr.length() < 4){                sb.append("\\u00");            }else{                sb.append("\\u");            }            sb.append(tmpStr);        }        return sb.toString();    }    /**     * Just convert Chinese String     * @param str     * @return     */    public static String chinese2Unicode(String str){        StringBuilder sb=new StringBuilder();        for(int i=0;i<str.length();i++)        {            String tmpStr = Integer.toHexString(str.charAt(i));            if(tmpStr.length() < 4){                sb.append(str.charAt(i));            }else{                sb.append("\\u");                sb.append(tmpStr);            }        }        return sb.toString();    }}
相关栏目:

用户点评