入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2013-11-07 投稿人: 浏览次数:2540

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
 }

}

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。