开门见山地说,这个是一个实现字符串string转换为字节数组的小方法类
但是我们都知道string类型里面有很多字母,所以我的核心思想是将其转换为数字之后再存进去字节数组内,采用的是十六进制的方法,这种方法有其局限性,也就图一乐。
public byte[] stringToByte (String strings) {
byte[] result=new byte[strings.length()/2];
for (int i = 0; i <= strings.length(); i += 2) {
result[i/2]=(byte) (charToInt(strings.charAt(i))*16+charToInt(strings.charAt(i+1)));
}
return result;
}
private int charToInt(char ch) {
if (ch >= 65 && ch <= 70) {
return ch - 55;
} else if (ch >= 97 && ch <= 102) {
return ch - 87;
} else {
return ch;
}
}
示例:
输入 | 输出 |
---|---|
0xABCD | 0xAB,0xCD |