Как преобразовать шестнадцатеричную строку в двоичный байтовый массив? - PullRequest
0 голосов
/ 29 марта 2019

Я хочу преобразовать шестнадцатеричную строку в двоичный байтовый массив, как написано в заголовке

ГЛАВНЫЙ КОД:

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, и я должен быть наиболее эффективным :)

Большое спасибо!

...