黑马程序员技术交流社区

标题: 字符串如何转换为Unicode [打印本页]

作者: 小小    时间: 2012-6-6 13:47
标题: 字符串如何转换为Unicode
我们知道java中的字符串都是Unicode编码的。
我在使用WindowBuilder中画界面,比如一个[确定]按钮,在代码中“确定”这两个字会被转换成\u786e\u5b9a这各Unicode格式。
我想问的是,如何使用Java程序把一个汉字字符串转换为Unicode格式呢?求解
作者: 张少威    时间: 2012-6-6 13:52
  1. @Test
  2. public void test04() {
  3.         String strText = "中华人民共和国";
  4.         char c;
  5.         String strRet = "";
  6.         int intAsc;
  7.         String strHex;
  8.         System.out.println(strText);
  9.         for (int i = 0; i < strText.length(); i++) {
  10.                 c = strText.charAt(i);
  11.                 intAsc = (int) c;
  12.                 if (intAsc > 128) {
  13.                         strHex = "\\u" + Integer.toHexString(intAsc);
  14.                         strRet = strRet + "" + strHex;
  15.                 } else {
  16.                         strRet = strRet + c;
  17.                 }
  18.         }
  19.         System.out.println("unicode:"+strRet);
  20. }
复制代码
还有一种方式,就是使用JDK带的一个工具(
native2ascii
)进行转换:


作者: 李春阳    时间: 2012-6-6 14:18
直接帮你写成方法哈~

public String chinaToUnicode(String str){   
    String resultStr="";   
    for (int i = 0; i < str.length(); i++){   
        int chr1 = (char) str.charAt(i);   
        if(chr1>=19968&&chr1<=171941){      
            resultStr="";   +="\\u" + Integer.toHexString(chr1);   
        }else{   
            resultStr="";   +=str.charAt(i);   
        }   
    }   
    return resultStr;   
}

红字的if判断条件为Unicode中汉字范围: \u4e00-\u9fa5




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2