如何打印文件的零和一

mat*_*b89 7 terminal hardware binary xxd

长话短说:如何在终端中打印构成文件的二进制数字,例如库.so或简单的文本.txt文件


PC 硬件处理电信号(基本上它是一种开/关行为),它由二进制系统(数字 0 和 1)很好地逻辑转换。可视化文件的内容将是一个有趣的教育练习,以及比较 .txt 和打印相同文本的可执行文件。

ste*_*eve 18

xxd可以给出二进制输出。下面举例。

$ cat foo
Hello World
$ xxd -b foo
00000000: 01001000 01100101 01101100 01101100 01101111 00100000  Hello
00000006: 01010111 01101111 01110010 01101100 01100100 00001010  World.
$
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一句,结尾处的`.`(00001010)是一个ASCII换行符`NL`。因为它的前 4 位都是零,它是一个不可打印的 ASCII 控制字符,所以 xxd 只打印 `.` (5认同)
  • 谢谢!为了完整起见,它包含在 Arch Linux 上的 `vim` 或 `gvim` 包中 (4认同)

row*_*oat 13

basenc(来自coreutils

$ echo 123 | basenc --base2msbf -w8
00110001
00110010
00110011
00001010
Run Code Online (Sandbox Code Playgroud)