我正在编写一个输出十六进制数字序列的程序,如xxd -ps
命令。
该输出旨在被转换成二进制文件,例如,与xxd -ps -r
。
当我尝试在PowerShell中的十六进制输出上调用xxd -ps -r
时,我没有得到所需的二进制文件,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中编写我自己的十六进制到二进制转换器,这对我的项目来说更好,甚至更好,但我想我将来最终会遇到这个问题,所以我想做好准备。