toolfree

十六進位轉文字

在瀏覽器裡把十六進位位元組轉成文字並轉回來,字元編碼由你選擇,而不是由工具猜。

在你的瀏覽器中執行

同樣的位元組在不同編碼下是不同的文字,所以這是一個選擇,不是細節。

結果

還沒有東西可以轉換。

在你說明怎麼讀之前,位元組還不是文字

這是大多數轉換器因為「沒說」而做錯的事:它們把十六進位轉成文字,卻不告訴你用的是哪一種 編碼。對 ASCII 來說沒差,對其他所有東西來說就是亂碼。

位元組 E5 8F B0 在 UTF-8 下是 。當成 Latin-1 讀則是三個各自獨立的字元,其中一個 還是看不見的控制碼。兩種讀法都合法,但只有一種是你要的。

所以編碼在這裡是一個看得見的選項,預設 UTF-8:

不合法的輸入會被回報,而不是被糊過去

不是合法 UTF-8 的位元組會產生一個指出問題的錯誤訊息,而不是一串 “ 替代字元。

這一點很重要,因為替代字元看起來像資料。在輸出裡看到它,大家很合理地會以為原始資料裡 本來就有,然後往完全錯誤的方向去找。而「這些位元組不是合法的 UTF-8,試試 Latin-1」直接 指向真正的答案。

十六進位數字是奇數個時也會被拒絕。半個位元組不是位元組,而要猜該補在前面還是後面,是產生 自信錯誤輸出的好方法。

位元組數和字元數是兩個不同的數字

兩個都會顯示,而這個差別通常正是有人來到這一頁的原因。

台北 在 UTF-8 下是2 個字元、6 個位元組。一個 VARCHAR(10) 的資料庫欄位可能指的是 其中任何一種,而是哪一種決定了這段文字放不放得下。Emoji 更誇張:👨‍👩‍👧 是 5 個碼位、 25 個位元組。

可以貼什麼進來

48 65 6c 6c 6f48656c6c6f48:65:6C:6C:6F0x48, 0x6548-65-6c-6c-6f 都會 被以同樣的方式讀取。分隔符號一律忽略,大小寫也沒差。

沒有任何上傳

在這個頁面裡轉換。正在被檢視的十六進位傾印,往往是某個私密東西的片段。