Что такое Hex Dump - Что это значит? - PullRequest
5 голосов
/ 06 апреля 2011
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

Как эти текстовые данные представлены в шестнадцатеричном виде? Что это означает ? Пожалуйста, может кто-нибудь сказать мне.

Ответы [ 2 ]

8 голосов
/ 06 апреля 2011

это просто то, что написано, дамп данных в шестнадцатеричном формате:

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

Странно, что все байты поменялись местами (65 48: e H)

Если вы работаете в системе * nix, вы можете использовать 'od -x', или 'man od' расскажет вам все способы получения данных из od:)

6 голосов
/ 06 апреля 2011

Текст в файле 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, вы увидите вывод в ожидаемом порядке.

...