上一篇介紹了 Hash,知道可以透過一串固定長度的 Hash 值,確認資料是否發生變化。
但如果想看看檔案裡面存了什麼?
就需要直接查看檔案本身的資料。
其中一個常用的工具就是 Hex Editor。
Hex Editor 可以直接查看檔案裡的原始資料,並通常以 十六進位(Hexadecimal) 的方式呈現。
平常我們打開一個文字檔,看到的可能是:
Hello
但使用 Hex Editor 查看時,可能會看到:
48 65 6C 6C 6F
這些數值代表檔案中的原始 Bytes。
電腦最底層使用的是 0 和 1。
例如一個 Byte 有 8 個 Bits:
01001000
如果直接全部用二進位表示,資料會變得很長,不太方便閱讀。
所以通常會使用十六進位來表示:
二進位:01001000
↓
十六進位:48
Hex Editor 就是利用這種方式,讓我們比較容易查看原始資料。
十六進位使用:
0 1 2 3 4 5 6 7 8 9 A B C D E F
總共有 16 種符號。
一個 Hex 字元可以表示 16 種可能。
而一個 Byte 有:
8 bits
可以表示:
00000000 ~ 11111111
共 256 種可能。
因此,一個 Byte 可以用兩個 Hex 字元表示:
00 ~ FF
很多 Hex Editor 會把資料分成幾個區域。
例如使用 HxD Hex Editor 打開之前的 test.txt,會看到三個區域:

代表這個資料位於檔案中的哪個位置。
00000000
表示從檔案開頭的位置開始。
就是實際的十六進位資料:
48 61 6C 6C 6F
如果這些 Bytes 剛好可以對應到可讀的文字,旁邊通常會直接顯示出來,就可以看出 Hex 和文字之間的關係。
Hex Editor 像是一個可以查看原始資料的放大鏡。
例如可以用來:
查看檔案的原始 Bytes
確認特定位置的資料
比較修改前後的差異
檢查檔案結構
查看檔案開頭或結尾的資料
分析被部分破壞的檔案
1. Hex Editor 可以用來查看檔案的原始資料
2. Hex 是方便人類閱讀 Bytes 的表示方式