java 汉字转Unicode

来源:互联网 发布:网络剧有毒 下载 编辑:程序博客网 时间:2024/05/20 18:16
 /**     * 汉字转Unicode     * @param s     * @return     */    public static String gbEncoding(final String s){        String str = "";        if(!"".equals(s) && null!=s){        for (int i = 0; i < s.length(); i++) {        int ch = (int) s.charAt(i);        str += "\\u" + Integer.toHexString(ch);        }        }        return str;    }    /**     * Unicode转汉字     * @param str     * @return     */    public static String encodingtoStr(String str){    if(!"".equals(str) && null!=str){        Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");        Matcher matcher = pattern.matcher(str);        char ch;        while (matcher.find()) {        ch = (char) Integer.parseInt(matcher.group(2), 16);        str = str.replace(matcher.group(1), ch + "");        }    }        return str;    }    /**     * 将汉字转为Unicode编码     * @param str     * @return     */    public static String chinaToUnicode(String str){          String result="";        if(!"".equals(str) && null!=str){        for (int i = 0; i < str.length(); i++){              int chr1 = (char) str.charAt(i);              if(chr1>=19968&&chr1<=171941){//汉字范围 \u4e00-\u9fa5 (中文)                  result+="\\u" + Integer.toHexString(chr1);              }else{                  result+=str.charAt(i);              }          }          }        return result;      }        /**      * 判断是否为中文字符      * @param c      * @return      */      public  boolean isChinese(char c) {          Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);          if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS                  || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS                  || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A                  || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION                  || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION                  || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {              return true;          }          return false;      }