十六进制字符串转换为字节数组

第一步、将十六进制的字符串除以二,算出字节数组的长度;

第二步、根据字节数组的长度,创建字节数组;

第三步、将字符串转换为字符数组;

第四步、将字符转换为字节;

第五步、十六进制的字节分为高四位与低四位,所以将高四位的字节左移4位,再与第四位的字节相或,就得到一个十六进制的字节;

第六步,将十六进制的字节逐个放到字节数组中即可。

public byte[] hexStrToBytes(String hexStr){
   int len = hexStr.length()/2;
   byte[] bytes = new byte[len];
   char[] chars = hexStr.toCharArray();
   for(int i=0;i<len;i++){
      bytes[i] = (toByte(chars[i])<<4) |     toByte[i*2];
   }
   return bytes;
}

public byte toByte(char c){
   byte b = "0123456789ABCDEF".indexOf(c);
   return b;
}

猜你喜欢

转载自blog.csdn.net/yangshuangyue/article/details/80615751