Преобразовать из десятичного Ascii в байтовый массив - PullRequest
0 голосов
/ 16 июня 2019

Я получаю представление исполняемого файла в десятичных символах ascii, разделенных пробелом. Например: "77 90 144 0 3 0 0 0 4 0 0 0"

Я пытаюсь декодировать это в реальный исполняемый файл и сохранить его на диск.

Мои предварительные результаты меня смущают, потому что третий символ возвращается мне как -112 вместо 144, когда я его деконструирую.

Я подозреваю, что проблема со знаком / без знака в int, но более того, как мне получить байт [] из начального "77 90 144 0 3 0 0 0 4 0 0 0"?

Я сейчас пытаюсь попасть в главное затмение в свое затмение.

String text = "77 90 144 0 3 0 0 0 4 0 0 0";

        String[] element = text.split(" ");

        String res = "";

        for(String el: element) {

            res += (char) Integer.parseInt(el);

        }

        byte[] decodedBytes = new byte[res.length()];

        for(int i = 0; i < decodedBytes.length; i++) {

            decodedBytes[i] = (byte) res.charAt(i);


        }

        return decodeByte[];

Мои предварительные результаты меня смущают, потому что третий символ возвращается мне как -112 вместо 144, когда я его деконструирую.

...