十六進位轉文字
在瀏覽器裡把十六進位位元組轉成文字並轉回來,字元編碼由你選擇,而不是由工具猜。
在你的瀏覽器中執行
同樣的位元組在不同編碼下是不同的文字,所以這是一個選擇,不是細節。
還沒有東西可以轉換。
在你說明怎麼讀之前,位元組還不是文字
這是大多數轉換器因為「沒說」而做錯的事:它們把十六進位轉成文字,卻不告訴你用的是哪一種 編碼。對 ASCII 來說沒差,對其他所有東西來說就是亂碼。
位元組 E5 8F B0 在 UTF-8 下是 台。當成 Latin-1 讀則是三個各自獨立的字元,其中一個
還是看不見的控制碼。兩種讀法都合法,但只有一種是你要的。
所以編碼在這裡是一個看得見的選項,預設 UTF-8:
- UTF-8——大約 2010 年之後的幾乎所有東西。
- Latin-1——較舊的西歐資料,也是唯一一種「任何位元組序列都是合法文字」的編碼。
- UTF-16 LE / BE——Windows API、Java 內部,以及任何帶有位元組順序記號的東西。位元組 順序是一個真正的選擇,不是細節。
不合法的輸入會被回報,而不是被糊過去
不是合法 UTF-8 的位元組會產生一個指出問題的錯誤訊息,而不是一串 “ 替代字元。
這一點很重要,因為替代字元看起來像資料。在輸出裡看到它,大家很合理地會以為原始資料裡 本來就有,然後往完全錯誤的方向去找。而「這些位元組不是合法的 UTF-8,試試 Latin-1」直接 指向真正的答案。
十六進位數字是奇數個時也會被拒絕。半個位元組不是位元組,而要猜該補在前面還是後面,是產生 自信錯誤輸出的好方法。
位元組數和字元數是兩個不同的數字
兩個都會顯示,而這個差別通常正是有人來到這一頁的原因。
台北 在 UTF-8 下是2 個字元、6 個位元組。一個 VARCHAR(10) 的資料庫欄位可能指的是
其中任何一種,而是哪一種決定了這段文字放不放得下。Emoji 更誇張:👨👩👧 是 5 個碼位、
25 個位元組。
可以貼什麼進來
48 65 6c 6c 6f、48656c6c6f、48:65:6C:6C:6F、0x48, 0x65 和 48-65-6c-6c-6f 都會
被以同樣的方式讀取。分隔符號一律忽略,大小寫也沒差。
沒有任何上傳
在這個頁面裡轉換。正在被檢視的十六進位傾印,往往是某個私密東西的片段。