什麼是文字轉十六進位?
文字轉十六進位工具將文字轉換為十六進位位元組。每個字元映射為對應的 hex 值,適用於除錯、網路分析和二進位協定。
預設使用 UTF-8,因此帶重音的拉丁字母、西里爾字母、中日韓文字、阿拉伯文和表情符號都會序列化為正確的位元組序列;你也可以將編碼切換為 UTF-16、ASCII 或 Latin-1,以符合舊系統或協定。輸出可用空格、冒號、逗號或不加分隔符來排版,可為每個位元組加上 `0x` 前綴以產生 C 風格陣列,並切換大小寫。可以直接輸入、從剪貼簿貼上,或上傳文字檔。反向模式會把十六進位字串解析回文字,並容忍多餘空格或 `0x` 前綴。
使用方法
- 在輸入框中輸入或貼上文字,點擊貼上按鈕從剪貼簿取得,或上傳文字檔。
- 選擇十六進位格式:編碼(UTF-8、UTF-16、ASCII、Latin-1)、分隔符(空格、逗號、冒號、無)、前綴(0x)、大寫或小寫,以及可選的位元組分組以取得十六進位傾印版面。
- 複製十六進位輸出用於程式碼或文件。也可以將 hex 反向轉換回文字。
何時使用
- 在透過二進位通訊協定送出字串前,先核對其原始位元組。
- 把非 ASCII 內容貼進 C、Rust 或 Go 原始檔,改為位元組陣列。
- 排查編碼問題時,比對資料中的實際位元組與預期。
結果
輸入 'Hello World',得到空格分隔的 '48 65 6C 6C 6F 20 57 6F 72 6C 64',或使用 0x 前綴得到 '0x48,0x65,0x6C...'(適合 C 語言陣列)。
常見問題
- 轉換器使用哪種字元編碼?
- 預設 UTF-8,並可在編碼一列中選擇 UTF-16、ASCII 和 Latin-1。在 UTF-8 中,一般 ASCII 字元各佔一個位元組(A → 41),而表情符號和中日韓文字會擴展為多個位元組(😀 → F0 9F 98 80),這與檔案、HTTP 內文和大多數 API 實際傳送的內容一致。處理單位元組舊文字時選 Latin-1,需要標記任何超過 7 位元的內容時選 ASCII。
- 為什麼一個 emoji 會產生四組 hex 而不是一組?
- emoji 與許多非拉丁字元的碼點超過 0x7F,UTF-8 會用 2、3 或 4 個位元組表示一個字元。例如 🚀 對應四對 hex(F0 9F 9A 80),每一對就是這個多位元組序列裡的一個位元組。
- 反向模式能處理混合分隔符的輸入嗎?
- 可以。解碼器會剝除 `0x` 前綴,忽略空格、逗號、冒號與連字號,將剩下的 hex 字元拼接起來。所以 `0x48,0x65 6C-6C:6F` 與 `48656C6C6F` 都能還原為 "Hello"。
- 加不加 `0x` 前綴差在哪裡?
- 只是寫法的選擇。`0x48` 是 C、C++、Rust 與 Go 程式碼裡的標準形式;沒有前綴的 `48` 多用於 hex dump、封包擷取與大多數網路工具。貼進程式碼就加前綴,做紀錄輸出就拿掉。
- 輸出能否直接用於雜湊等密碼學場景?
- 它提供的是 UTF-8 原始位元組,這正是多數雜湊與 HMAC 演算法的第一步輸入——它們處理的是位元組而非字元。把位元組丟給你的雜湊工具即可,單獨的 hex 字串不是雜湊值。