您的位置:首页 > 编程语言 > Java开发

Java汉字与16进制数相互转换

2013-11-07 17:45 260 查看
public class Util {

public static String deUnicode(String content){//将16进制数转换为汉字

String enUnicode=null;

String deUnicode=null;

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

if(enUnicode==null){

enUnicode=String.valueOf(content.charAt(i));

}else{

enUnicode=enUnicode+content.charAt(i);

}

if(i%4==3){

if(enUnicode!=null){

if(deUnicode==null){

deUnicode=String.valueOf((char)Integer.valueOf(enUnicode, 16).intValue());

}else{

deUnicode=deUnicode+String.valueOf((char)Integer.valueOf(enUnicode, 16).intValue());

}

}

enUnicode=null;

}

}

return deUnicode;

}

public static String enUnicode(String content){//将汉字转换为16进制数

String enUnicode=null;

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

if(i==0){

enUnicode=getHexString(Integer.toHexString(content.charAt(i)).toUpperCase());

}else{

enUnicode=enUnicode+getHexString(Integer.toHexString(content.charAt(i)).toUpperCase());

}

}

return enUnicode;

}

private static String getHexString(String hexString){

String hexStr="";

for(int i=hexString.length();i<4;i++){

if(i==hexString.length())

hexStr="0";

else

hexStr=hexStr+"0";

}

return hexStr+hexString;

}

}

下面是测试类

public class Test1 {

/**

* @param args

*/

public static void main(String[] args) throws Exception {

String str="王江波是一个小朋友,HOHOHOHO";

System.out.println(Util.enUnicode(str));

//打印出 738B6C5F6CE2662F4E004E2A5C0F670B53CBFF0C0048004F0048004F0048004F0048004F

str="738B6C5F6CE2662F4E004E2A5C0F670B53CBFF0C0048004F0048004F0048004F0048004F";

System.out.println(Util.deUnicode(str));

//打印出 王江波是一个小朋友,HOHOHOHO

}

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