История
Я пишу программу, которая выводит последовательность шестнадцатеричных цифр, как команда xxd -ps
.
Этот вывод предназначен для преобразования в двоичный файл, например, с xxd -ps -r
.
Когда я пытаюсь вызвать xxd -ps -r
в моем шестнадцатеричном выводе в PowerShell, я не получаю желаемый двоичный файл, вывод xxd пуст.
проблема
После некоторого исследования я обнаружил, что запись-вывод PowerShell, это псевдоним echo и перенаправление вывода '>' - все они вставляют в вывод избыточные символы, такие как \ 00 и некоторые другие.
Вопрос
Как избавиться от этого поведения и отучить Powershell от повреждения потоков данных между командами?
Тест
Я бы хотел, чтобы Powershell вел себя как старый добрый cmd:
ps>java -cp HelloWorld > hello.txt
ps>xxd -ps hello.txt > hello.hex
ps>xxd -ps -r hello.hex
ps>HelloWorld
ps>
В настоящее время последняя команда имеет пустой вывод.
Я в порядке
Теперь я напишу свой собственный преобразователь из шестнадцатеричного в двоичный в java, что хорошо для моего проекта, даже лучше, но я думаю, что в будущем я столкнусь с этой проблемой, поэтому я хочу быть готовым.