【发布时间】:2021-06-14 03:55:03
【问题描述】:
我不明白“od”程序的输出。
假设我在一个测试文件中写入内容“abc”:
echo "abc" > test.txt
然后字符 a (01100001)、b (01100010) 和 c (01100011) 通过 ASCII 表转换为二进制并保存在文件中。 所以我希望该文件将包含以下位
011000010110001001100011
如果我用'xxd'转换文件,结果如下:
$ cat test.txt | xxd -b
00000000: 01100001 01100010 01100011 00001010 abc.
(最后 8 位 (.) 已经让我感到困惑,但我认为这是因为 'cat' 的输出)
现在:如果我尝试使用 'od' 转换文件,则会出现以下图片
$ od test.txt
0000000 061141 005143
0000004
我有我的问题。我不明白这些数字是怎么得出的。 据我了解, od 需要一个字节(例如第一个 -> 01100001 -> 'a')并将这个数字转换为八进制数字系统。但这应该导致“141”。
谁能给我解释一下这个问题?
【问题讨论】:
-
test.txt 中的最后一个字节是换行符。