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

时间: 2023-07-11 admin 互联网

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

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

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

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

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

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

第五步、十六进制的字节分为高四位与低四位,所以将高四位的字节左移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;
}