java中文转unicode码

1 篇文章 0 订阅
1 篇文章 0 订阅
使用了两种方法进行判断 

Java代码   收藏代码
  1. /** 
  2.      * 把中文转成Unicode码 
  3.      * @param str 
  4.      * @return 
  5.      */  
  6.     public String chinaToUnicode(String str){  
  7.         String result="";  
  8.         for (int i = 0; i < str.length(); i++){  
  9.             int chr1 = (char) str.charAt(i);  
  10.             if(chr1>=19968&&chr1<=171941){//汉字范围 \u4e00-\u9fa5 (中文)  
  11.                 result+="\\u" + Integer.toHexString(chr1);  
  12.             }else{  
  13.                 result+=str.charAt(i);  
  14.             }  
  15.         }  
  16.         return result;  
  17.     }  
  18.   
  19.     /** 
  20.      * 判断是否为中文字符 
  21.      * @param c 
  22.      * @return 
  23.      */  
  24.     public  boolean isChinese(char c) {  
  25.         Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);  
  26.         if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS  
  27.                 || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS  
  28.                 || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A  
  29.                 || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION  
  30.                 || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION  
  31.                 || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {  
  32.             return true;  
  33.         }  
  34.         return false;  
  35.     }  

Java代码   收藏代码
  1. static String string2Unicode(String s) {  
  2.     try {  
  3.       StringBuffer out = new StringBuffer("");  
  4.       byte[] bytes = s.getBytes("unicode");  
  5.       for (int i = 2; i < bytes.length - 1; i += 2) {  
  6.         out.append("u");  
  7.         String str = Integer.toHexString(bytes[i + 1] & 0xff);  
  8.         for (int j = str.length(); j < 2; j++) {  
  9.           out.append("0");  
  10.         }  
  11.         String str1 = Integer.toHexString(bytes[i] & 0xff);  
  12.   
  13.         out.append(str);  
  14.         out.append(str1);  
  15.         out.append(" ");  
  16.       }  
  17.       return out.toString().toUpperCase();  
  18.     }  
  19.     catch (UnsupportedEncodingException e) {  
  20.       e.printStackTrace();  
  21.       return null;  
  22.     }  
  23.   }   
  24.   
  25.    
  26.   
  27. static String unicode2String(String unicodeStr){  
  28.     StringBuffer sb = new StringBuffer();  
  29.     String str[] = unicodeStr.toUpperCase().split("U");  
  30.     for(int i=0;i<str.length;i++){  
  31.       if(str[i].equals("")) continue;  
  32.       char c = (char)Integer.parseInt(str[i].trim(),16);  
  33.       sb.append(c);  
  34.     }  
  35.     return sb.toString();  
  36.   }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值