Я исследовал преобразование строки в массив шестнадцатеричных байтов в Java.Было несколько примеров преобразования из String в hexString и из hexString в байтовый массив.Я хотел бы знать разницу между String.getbyte () и преобразованием из String в hexString в байтовый массив?
Я считаю, что это похоже на:
byte[] bytes = "Apple".getBytes();
и
String hexStringSample = stringToHex("Apple");
byte[] bytes2 = hexStringToByteArray(hexStringSample);
public static String stringToHex(String s) {
String result = "";
for (int i = 0; i < s.length(); i++) {
result += String.format("%02x ", (int) s.charAt(i));
}
return result;
}
//hexStringToByteArray
public static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i+1), 16));
}
return data;
}