我如何为程序提供由不同文件生成的原始二进制字节输入?

我如何为程序提供由不同文件生成的原始二进制字节输入?

我有2个程序:

x- 提示用户输入stdin

binary- 打印一些东西到stdout,它打印的东西由各种原始二进制字节组成,我的终端编码(UTF-8)不完全支持这些字节。所以我无法正常运行它./binary | ./x,这会导致提供错误的输入,x因为部分输入由\x90(NOP) 组成,我的终端将其替换为替换字符。

我如何向程序提供x另一个文件生成的原始二进制数据(在本例中binary)?

答案1

你完全按照你描述的去做,./binary | ./x。您的终端对输入的字符不满意\x90,但这并不意味着./x会。

作为测试,您可以尝试一下./binary | od -a,您会发现为其设计的程序可以读取给您的终端带来麻烦的字节。您还可以尝试使用od -xandod -b作为替代方案od -a(您可能更喜欢这些选项的表示二进制数据的方法)。

相关内容