16進ダンプ
16進ダンプ(じゅうろくしんダンプ)またはヘックスダンプ(英: hex dump)とは、RAMやファイル上のコンピュータデータの一部または全部を、16進数で画面または紙に表示させたものである。データの16進ダンプは、デバッグやリバースエンジニアリングの一部としてよく行われる。
16進ダンプでは、各バイト(8ビット)は2桁の16進数として表される。16進ダンプは、一般に1行が8バイトまたは16バイトで表され、1バイト(2桁)ごとに空白で区切って表示されることが多い。各行の先頭に16進数によるメモリアドレス、各行の末尾にチェックサムが表示される場合もある。
その名前は16進数(hexadecimal number)での出力を意味するが、16進数ダンプソフトウェアの中には8進数や10進数の出力用のオプションを持つものがある。Unixで16進ダンプを行うソフトウェアにodがあるが、これは"octal dump"(8進ダンプ)の略である。他の16進ダンプを行うソフトウェアとして、hexdump, xxdなどがある。
初期のパーソナルコンピュータで使用されていた8ビットオペレーティングシステムCP/Mでは、標準のDUMPプログラムは、行頭に16進数オフセット、末尾に各バイトに相当するASCII文字を表示し、1行16バイトで表示した。印刷可能なASCII文字の範囲(20 - 7E)外のバイトは、視覚的な位置合わせのためピリオド"."として表示された。これと同じフォーマットは、CP/Mの標準デバッガDDTでDコマンドを呼び出してメモリを表示する際にも使用されていた。DOSデバッガDEBUGなどでは、DUMPのフォーマットを継承したが、全体の幅を変えずに8バイト目と9バイト目の間のスペースをダッシュに変更した。
この表記法は、DR-DOS、MS-DOS、OS/2、MS-Windowsなどの、CP/Mから直接または間接的に派生したオペレーティングシステムで保持されている。Linuxシステムでは、hexcatコマンドがこの古典的な出力フォーマットを生成することができる。このフォーマットを採用する主な理由は、標準の80文字幅の画面やプリンターに最大量のデータを収めることができる一方で、視覚的に読みやすく流し読みしやすいことである。