样例
程式的部分十六进制转储示例,由Unix程式hexdump生成:00105e0e6b0343b9c740804e7bc0804e7d5080400105f0e7e40804e6b00804e7f00804e7ff08040010600e80b0804e81a0804e6b00804e6b00804
但是,上面的示例表示十六进制转储的模糊形式,因为位元组顺序可能不确定。 这样的十六进制转储仅在众所周知的位元组顺序标準的上下文中有用,或者当有意地以完整形式给出值时(并且可能导致可变的位元组数),例如:
00105e0e6b00804e79e0804e7bc0804e7d50804
当需要显式位元组序列时(例如,对于机器代码程式或ROM内容的十六进制转储),逐位元组表示是有利的,通常以16位元组行组织,在8位元组组之间具有可选的分频器:
00105e0e6b00804e79e0804-e7bc0804e7d5080400105f0e7e40804e6b00804-e7f00804e7ff08040010600e80b0804e81a0804-e6b00804e6b00804
很少使用精简形式,值之间没有空格:
00105e0e6b00804e79e0804e7bc0804e7d5080400105f0e7e40804e6b00804e7f00804e7ff08040010600e80b0804e81a0804e6b00804e6b00804
在现代x86(小端)计算机上,Unix默认显示与两位元组字相同的位元组通常如下所示:
00105e0b0e604089ee70408bce70408d5e7040800105f0e4e70408b0e60408f0e70408ffe7040800106000be804081ae80408b0e60408b0e60408
通常,附加列显示相应的ASCII文本转换(例如hexdump -C或hd):
0000:57696B6970656469612C207468652066Wikipedia,thef0010:72656520656E6379636C6F7065646961reeencyclopedia0020:207468617420616E796F6E652063616Ethatanyonecan0030:20656469740000000000000000000000edit...........
校验
当十六进制转储打算手动输入计算机时,例如家用计算机时代的列印杂誌文章的情况,每行末尾将添加校验和位元组(或两个),通常计算为简单的256模数 行中所有值的总和或更複杂的CRC。 此校验和将用于确定用户是否正确输入行。
各种十六进制转储档案格式(包括S-record,Intel HEX和Tektronix扩展HEX)在每行末尾都有类似的校验和值。1872590
压缩重複的行
在Unix程式od和hexdump中,并未显示包含与前一行相同数据的所有显示输出行; 相反,显示只包含一个星号的行。 例如,一个全零的块列印为:
000000000000000000000000000000000000000*0000030
此压缩功能为检查大型档案或完整设备的不规则性提供了有用的工具。 在现代Linux系统中,扫描整个硬碟以检查它是否全部为空是很方便的:
#hexdump/dev/sda(replacesdawiththepropernameforthedevicetobescanned)
-v选项让hexdump和od显式显示所有输入数据:
000000000000000000000000000000000000000000001000000000000000000000000000000000000002000000000000000000000000000000000
od和hexdump
在Unix/POSIX/GNU系统上:“实用程式od和hexdump从档案或流输出八进制,十六进制或其他编码的位元组。根据您的系统类型,这两个实用程式中的任何一个或两个都可用 - BSD系统弃用 对于hexdump,GNU系统反过来。但是,两个实用程式具有完全相同的目的,只是略有不同的开关。
DUMP和DDT和DEBUG
在早期个人计算机上使用的CP/M 8位作业系统中,标準DUMP程式将列出每行16位元组的档案,行的开头是十六进制偏移量,最后是每个位元组的ASCII等效值。超出标準可列印ASCII字元範围(20到7E)的位元组将显示为可视对齐的单个周期。在标準CP/M调试器DDT中调用D命令时,使用相同的格式显示记忆体。后来的格式化身(例如在DOS调试器DEBUG中)将第8个位元组和第9个位元组之间的空格更改为破折号而不改变整体宽度。
此表示法已保留在直接或间接源自CP/M的作业系统中,包括DR-DOS,MS-DOS,OS/2和MS-Windows。在Linux系统上,命令hexcat也会生成这种经典输出格式。设计这种格式的主要原因是它适合标準80字元宽萤幕或印表机上的最大数据量,同时仍然非常容易阅读和浏览。
1234:0000:57696B6970656469612C207468652066Wikipedia,thef1234:0010:72656520656E6379636C6F7065646961reeencyclopedia1234:0020:207468617420616E796F6E652063616Ethatanyonecan1234:0030:20656469740000000000000000000000edit...........
















