У меня есть файл output.log, который имеет список пробелов, ', разделенных целых чисел от [-2048,2048]. Я пытаюсь преобразовать это в двоичный файл с xxd. Я использую команду,Преобразование целых чисел в двоичные с xxd
xxd -r -p output.log > output.bin
Однако, когда я прочитал файл обратно с XXD я теряю все признаки (-) и получить некоторые значения больше, чем 2048. Есть ли лучший способ сделать это? Благодарю.
редактировать: С выборочных данных ...
$ cat test
4 0 -3 -2 -1 200
$ xxd -r -p test > test.bin
$ xxd test.bin
0000000: 4012 00 @..
Может быть, я недоразумение, что XXD делает то, что я ожидал увидеть после того, как последняя команда, чтобы увидеть мои оригинальные входные данные, они отображаются. Это неправильно?
С гораздо большими наборами данных, время от времени будут отображаться правильные значения, но на выходе все еще присутствует тонна шума.
Это просто этот диапазон значений, который демонстрирует проблему, или мы можем видеть это с помощью '[-4,4]'? Если это так, пожалуйста, отредактируйте свой Q, чтобы включить образцы данных, требуемый выход и текущий вывод, а также все шаги кодирования в вашем процессе. Удачи. – shellter
Угадайте, что 'output.log' генерируется сторонней программой? Итак, dbl-проверьте, какой формат ваших данных есть с 'file output.log'. Возможно, вы увидите некоторый набор символов, отличных от ascii, например UTF8 или другой. Эта информация будет полезной для вашей проблемы. Удачи. – shellter
output.log: текст ASCII, с очень длинными строками, без терминаторов строк – gutelfuldead