How to View a File in Hex

Table of Contents

1. 16 进制方式查看文件

假设文件 file1 的内容为 1234567890qwertyuiopasdfghjklzxcvbnm,下面介绍几种显示其 16 进制编码的方法。

1.1. od

使用 od -tx 可以显示文件 16 进制编码,如:

$ od -tx file1
0000000 34333231 38373635 77713039 79747265
0000020 706f6975 66647361 6b6a6867 63787a6c
0000040 6d6e6276 0000000a
0000045

如果不想显示位置信息,且把 16 进制编码分开显示,可以这样:

$ od -An -tx1 file1
 31  32  33  34  35  36  37  38  39  30  71  77  65  72  74  79
 75  69  6f  70  61  73  64  66  67  68  6a  6b  6c  7a  78  63
 76  62  6e  6d  0a

1.2. hexdump

使用 hexdump 可以显示文件 16 进制编码,如:

$ hexdump file1
0000000 3231 3433 3635 3837 3039 7771 7265 7974
0000010 6975 706f 7361 6664 6867 6b6a 7a6c 6378
0000020 6276 6d6e 000a
0000025

如果不想显示位置信息,且把 16 进制编码分开显示,可以这样:

$ hexdump -e '16/1 "%2X " "\n"' file1
31 32 33 34 35 36 37 38 39 30 71 77 65 72 74 79
75 69 6F 70 61 73 64 66 67 68 6A 6B 6C 7A 78 63
76 62 6E 6D  A

1.3. xxd

使用 xxd 可以显示文件 16 进制编码,如:

00000000: 3132 3334 3536 3738 3930 7177 6572 7479  1234567890qwerty
00000010: 7569 6f70 6173 6466 6768 6a6b 6c7a 7863  uiopasdfghjklzxc
00000020: 7662 6e6d 0a                             vbnm.

如果不想显示位置信息和 ASCII 码解析信息,可以这样:

$ xxd -p -c 16 file1
31323334353637383930717765727479
75696f706173646667686a6b6c7a7863
76626e6d0a

Author: cig01

Created: <2011-06-04 Sat>

Last updated: <2020-05-10 Sun>

Creator: Emacs 27.1 (Org mode 9.4)