A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小小 初级黑马   /  2012-6-6 13:47  /  2123 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我们知道java中的字符串都是Unicode编码的。
我在使用WindowBuilder中画界面,比如一个[确定]按钮,在代码中“确定”这两个字会被转换成\u786e\u5b9a这各Unicode格式。
我想问的是,如何使用Java程序把一个汉字字符串转换为Unicode格式呢?求解

评分

参与人数 1技术分 +1 收起 理由
袁錦泰 + 1

查看全部评分

2 个回复

倒序浏览
  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
)进行转换:

评分

参与人数 1技术分 +1 收起 理由
袁錦泰 + 1

查看全部评分

回复 使用道具 举报
直接帮你写成方法哈~

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

评分

参与人数 1技术分 +1 收起 理由
袁錦泰 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马