Java汉字与16进制数相互转换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=HexString(content.charAt(i)).toUpperCase());
}else{
enUnicode=enUnicode+HexString(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
*/unicode汉字
public static void main(String[] args) throws Exception {
String str="王江波是⼀个⼩朋友,HOHOHOHO";
System.out.Unicode(str));
//打印出 738B6C5F6CE2662F4E004E2A5C0F670B53CBFF0C0048004F0048004F0048004F0048004F str="738B6C5F6CE2662F4E004E2A5C0F670B53CBFF0C0048004F0048004F0048004F0048004F";
System.out.println(Util.deUnicode(str));
//打印出 王江波是⼀个⼩朋友,HOHOHOHO
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论