5
thegladiator:~/cp$ cat new.txt
Hello World This is a Trest Progyy

thegladiator:~/cp$ hexdump new.txt
0000000 6548 6c6c 206f 6f57 6c72 2064 6854 7369
0000010 6920 2073 2061 7254 7365 2074 7250 676f
0000020 7979 000a                              
0000023

该文本数据如何以十六进制表示?这是什么意思?

4

2 回答 2

9

这就是它所说的,以十六进制格式转储数据:

H 48 
e 65
l 6c
l 6c
o 6f

奇怪的是所有字节都被交换了(65 48 : e H)

如果你在 *nix 系统上,你可以使用 'od -x',或者 'man od' 会告诉你所有从 od 获取数据的方法 :)

于 2011-04-06T19:52:27.187 回答
6

文件中的文本new.txt使用ASCII编码存储。每个字母由一个数字表示,十进制:32-127 十六进制:20-7F。所以前三个字母 ( H,e,l) 用十进制数表示:72,101,108和十六进制数:48,65,6C

Hexdump默认情况下,获取输入文件的每个 16 位字,new.txt并将该字输出为十六进制数。因为它是在 16 位而不是 8 位上运行的,所以您会以意想不到的顺序看到输出。

如果您改为使用xxd new.txt,您将按预期顺序看到输出。

于 2011-04-06T19:52:26.470 回答