十六進位位元組不等於 Unicode 碼位
十六進位是顯示位元組的一種精簡方式。兩個十六進位數字代表一個位元組,範圍從 00 到 FF。一個普通的英文字母在 UTF-8 中通常佔用一個位元組,這讓簡短的範例看起來像是逐字元的替換。但這個捷徑對人們實際書寫的大部分文字並不適用。帶重音符號的字母可能佔用兩個位元組;表情符號可能佔用四個位元組,或形成更長的序列。
碼位 U+00E9 代表字元 é。它的 UTF-8 位元組是 C3 A9,而不是 E9。因此,把單一位元組 E9 送入嚴格的 UTF-8 解碼器會產生錯誤,即使這個十六進位本身是有效的。如果記錄檔是使用舊式編碼產生的,請從來源確認該編碼,而不要一直猜測,直到輸出看起來合理為止。
這個轉換器會在嘗試解碼字元之前,先檢查十六進位語法。像 4869 這樣緊湊的連續字串可以接受,48 69、48:69 和 0x48,0x69 這類完整群組也可以。群組中數字的個數為奇數時會被拒絕。位址欄、程式語言的跳脫字串,以及完整 hexdump 中可列印字元的側欄,都不在這個解析器的範圍之內;請只貼上位元組資料。
請將數值與文字的工作分開處理。十六進位 FF 代表整數 255,但它不是有效的單獨 UTF-8 文字位元組。請使用進位制轉換器來計算該數值,而在位元組編碼的是訊息時,才使用這項工具。成功的文字可以繼續使用現有的文件工具。NULL 字元會保留在下載檔案中,不過文件交接會拒絕它們。