黑马程序员技术交流社区
标题:
字符串如何转换为Unicode
[打印本页]
作者:
小小
时间:
2012-6-6 13:47
标题:
字符串如何转换为Unicode
我们知道java中的字符串都是Unicode编码的。
我在使用WindowBuilder中画界面,比如一个[确定]按钮,在代码中“确定”这两个字会被转换成\u786e\u5b9a这各Unicode格式。
我想问的是,如何使用Java程序把一个汉字字符串转换为Unicode格式呢?求解
作者:
张少威
时间:
2012-6-6 13:52
@Test
public void test04() {
String strText = "中华人民共和国";
char c;
String strRet = "";
int intAsc;
String strHex;
System.out.println(strText);
for (int i = 0; i < strText.length(); i++) {
c = strText.charAt(i);
intAsc = (int) c;
if (intAsc > 128) {
strHex = "\\u" + Integer.toHexString(intAsc);
strRet = strRet + "" + strHex;
} else {
strRet = strRet + c;
}
}
System.out.println("unicode:"+strRet);
}
复制代码
还有一种方式,就是使用JDK带的一个工具(
native2ascii
)进行转换:
图像 1.png
(14.6 KB, 下载次数: 168)
下载附件
2012-6-6 13:52 上传
作者:
李春阳
时间:
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