原字符串:String str="CCBBAA"; 我所想得到的结果: byte[] byte={0xCC,0xBB,0xAA};
在刚开始想进行转化的时候想了各种办法,得到的结果都不如人意,所以记录下来之后从网上找到的一个可行的办法
在程序中调用下面函数,byte=hexStringToBytes(str);就得到
byte[] byte={0xCC,0xBB,0xAA};
public static byte[] hexStringToBytes(String hexString) { //该函数是我网上copy来的,网址是http://blog.youkuaiyun.com/androiddeveloper_lee/article/details/6619414
主要是先把Str转化为chararray数组形式,再通过移位将他们转化为byte型。
if (hexString == null || hexString.equals("")) {
return null;
}
hexString = hexString.toUpperCase(); //
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++) {
int pos = i * 2;
d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
}
return d;
}
private static byte charToByte(char c) { //
return (byte) "0123456789ABCDEF".indexOf(c);
}