首页 > 代码库 > 字节流、字符串、16进制字符串转换__Java(转)

字节流、字符串、16进制字符串转换__Java(转)

Java代码  技术分享
  1. /** 
  2.  * @Package: 
  3.  * @ClassName:TypeConversion 
  4.  * @Description:字节流、字符串、16进制字符串转换 
  5.  * @author:xk 
  6.  * @date:Jan 8, 2013 5:00:08 PM 
  7.  */  
  8. public class TypeConversion {  
  9.     /** 
  10.      * @Title:bytes2HexString 
  11.      * @Description:字节数组转16进制字符串 
  12.      * @param b 
  13.      *            字节数组 
  14.      * @return 16进制字符串 
  15.      * @throws 
  16.      */  
  17.     public static String bytes2HexString(byte[] b) {  
  18.         StringBuffer result = new StringBuffer();  
  19.         String hex;  
  20.         for (int i = 0; i < b.length; i++) {  
  21.             hex = Integer.toHexString(b[i] & 0xFF);  
  22.             if (hex.length() == 1) {  
  23.                 hex = ‘0‘ + hex;  
  24.             }  
  25.             result.append(hex.toUpperCase());  
  26.         }  
  27.         return result.toString();  
  28.     }  
  29.   
  30.     /** 
  31.      * @Title:hexString2Bytes 
  32.      * @Description:16进制字符串转字节数组 
  33.      * @param src 
  34.      *            16进制字符串 
  35.      * @return 字节数组 
  36.      * @throws 
  37.      */  
  38.     public static byte[] hexString2Bytes(String src) {  
  39.         int l = src.length() / 2;  
  40.         byte[] ret = new byte[l];  
  41.         for (int i = 0; i < l; i++) {  
  42.             ret[i] = (byte) Integer  
  43.                     .valueOf(src.substring(i * 2, i * 2 + 2), 16).byteValue();  
  44.         }  
  45.         return ret;  
  46.     }  
  47.   
  48.     /** 
  49.      * @Title:string2HexString 
  50.      * @Description:字符串转16进制字符串 
  51.      * @param strPart 
  52.      *            字符串 
  53.      * @return 16进制字符串 
  54.      * @throws 
  55.      */  
  56.     public static String string2HexString(String strPart) {  
  57.         StringBuffer hexString = new StringBuffer();  
  58.         for (int i = 0; i < strPart.length(); i++) {  
  59.             int ch = (int) strPart.charAt(i);  
  60.             String strHex = Integer.toHexString(ch);  
  61.             hexString.append(strHex);  
  62.         }  
  63.         return hexString.toString();  
  64.     }  
  65.   
  66.     /** 
  67.      * @Title:hexString2String 
  68.      * @Description:16进制字符串转字符串 
  69.      * @param src 
  70.      *            16进制字符串 
  71.      * @return 字节数组 
  72.      * @throws 
  73.      */  
  74.     public static String hexString2String(String src) {  
  75.         String temp = "";  
  76.         for (int i = 0; i < src.length() / 2; i++) {  
  77.             temp = temp  
  78.                     + (char) Integer.valueOf(src.substring(i * 2, i * 2 + 2),  
  79.                             16).byteValue();  
  80.         }  
  81.         return temp;  
  82.     }  
  83.       
  84.     /** 
  85.      * @Title:char2Byte 
  86.      * @Description:字符转成字节数据char-->integer-->byte 
  87.      * @param src 
  88.      * @return 
  89.      * @throws 
  90.      */  
  91.     public static Byte char2Byte(Character src) {  
  92.         return Integer.valueOf((int)src).byteValue();  
  93.     }  
  94.       
  95.         /** 
  96.      * @Title:intToHexString 
  97.      * @Description:10进制数字转成16进制 
  98.      * @param a 转化数据 
  99.      * @param len 占用字节数 
  100.      * @return 
  101.      * @throws 
  102.      */  
  103.     private static String intToHexString(int a,int len){  
  104.         len<<=1;  
  105.         String hexString = Integer.toHexString(a);  
  106.         int b = len -hexString.length();  
  107.         if(b>0){  
  108.             for(int i=0;i<b;i++)  {  
  109.                 hexString = "0" + hexString;  
  110.             }  
  111.         }  
  112.         return hexString;  
  113.     }  
  114.       
  115.       
  116.     public static void main(String args[]) {  
  117.         System.out.println(hexString2String("3133383131313536373838"));  
  118.     }  
  119. }  

 

转自:http://hunray.iteye.com/blog/1849585

字节流、字符串、16进制字符串转换__Java(转)