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
上面参数 -c 16
表示每行显示 16 字节数据。如果不想换行,则可以增加 -c
数值(不过最大也只能是 256),如:
$ xxd -p -c 256 file1 3132333435363738393071776572747975696f706173646667686a6b6c7a786376626e6d0a