Я хочу преобразовать шестнадцатеричную строку в двоичный байтовый массив, как написано в заголовке
ГЛАВНЫЙ КОД:
String r16 = "15d626926b7567f7";
byte[] binary64 = hexToBinary64Bits(r16);
System.out.println("r16 : " + r16);
for (int i = 0; i < binary64.length; i++) {
System.out.print(binary64[i] + ", ");
}
public static byte[] hexToBinary64Bits(String hex) {
return ((String.format("%64s",
Long.toBinaryString(Long.parseLong(hex,16))).
replace(" ", "0")).getBytes());
}
РЕЗУЛЬТАТ
r16 : 15d626926b7567f7
48, 48, 48, 49, 48, 49, 48, 49, 49, 49, 48, 49, 48, 49, 49, 48, 48, 48, 49, 48, 48, 49, 49, 48, 49, 48, 48, 49, 48, 48, 49, 48, 48, 49, 49, 48, 49, 48, 49, 49, 48, 49, 49, 49, 48, 49, 48, 49, 48, 49, 49, 48, 48, 49, 49, 49, 49, 49, 49, 49, 48, 49, 49, 49,
Я не хочу иметь 48, 48, 48, 49, но 0, 0, 0, 1, и я должен быть наиболее эффективным :)
Большое спасибо!