您的位置:首页 > 其它

unicode和字符串之间的转换有两种方式

2014-09-14 13:44 323 查看
unicode和字符串之间的转换有两种方式。

1.1.通过JDK自带的”native2ascii“进行转换

首先,您测试的机器需要安装JDK,比如我的机器环境,我的JDK安装在D:\Java\jdk1.7.0_45\,JDK所提供的可执行文件在D:\Java\jdk1.7.0_45\bin下。(我的是Windows版本的JDK)

然后打开DOS窗口,键入命令:

cd D:\Java\jdk1.7.0_45\bin

native2ascii



这个时候控制台阻塞,光标闪动,输入待转换的字符串,回车即可



1.2.通过编写转换程序实现

① 可用下面的代码实现字符串转换为unicode。

/**

* 字符串转换unicode

*/

public static String string2Unicode(String string) {

StringBuffer unicode = new StringBuffer();

for (int i = 0; i < string.length(); i++) {

// 取出每一个字符

char c = string.charAt(i);

// 转换为unicode 添另\\u 后面的字符转换成16进制编码

unicode.append("\\u" + Integer.toHexString(c));

}

return unicode.toString();

}

② 可用下面代码实现unicode转换为字符串

/**

* unicode 转字符串

*/

public static String unicode2String(String unicode) {

StringBuffer string = new StringBuffer();

String[] hex = unicode.split("\\\\u");

for (int i = 1; i < hex.length; i++) {

// 转换出每一个代码点

int data = Integer.parseInt(hex[i], 16);

// 追加成string

string.append((char) data);

}

return string.toString();

}

③ 测试代码

@Test

public void testString2Unicode() {

String test = "传智播客老翁讲java";

//生成unicode编码

String unicode = UnicodeUtil.string2Unicode(test);

//转换unicode编码

String string = UnicodeUtil.unicode2String(unicode);

System.out.println(unicode);

System.out.println(string);

}

④  输出如下内容:

\u4f20\u667a\u64ad\u5ba2\u8001\u7fc1\u8bb2\u6a\u61\u76\u61

传智播客老翁讲java
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: