ASCII 與 Unicode 碼位

顯示每個字元的碼位,或把十進位、十六進位碼位還原成文字。

這是碼位,不是十六進位位元組

ASCII 是 0 到 127。一個漢字不是一個 ASCII 位元組,而是一個 Unicode 碼位;在 UTF-8 裡這個碼位要佔好幾個位元組。這一頁每個字元打一個數,十進位或十六進位都可以。它不輸出 UTF-8 的位元組串。看位元組用 字串轉位元組 或 文字轉二進位。

怎麼用

  1. 貼上文字,或用空格、逗號、換行分開的碼。
  2. 方向選「文字轉碼位」或「碼位轉文字」,進位選十進位或十六進位。「輸入時立即更新」可以開著。
  3. 顯示範例是「AB」。十進位是 65 66,十六進位是 41 42。
  4. 有一個碼不是所選進位的數字,或不是合法字元碼,整段都會報錯,不會跳過壞的那一個。

你看到的是哪個數

65 是字元 A,20013 是「中」。這兩個都不是 UTF-8 位元組。「中」的 UTF-8 位元組是 E4 B8 AD。如果另一個工具對一個漢字給出三組十六進位,它在顯示位元組,和這一頁對不上,要換工具。這裡的十六進位不加 0x,也不加 U+。從碼位還原文字時,空格、逗號和換行是分隔符,不會被編進結果。

什麼時候用

  • 看規格或錯誤訊息裡的十進位碼位。
  • 兩個字長得像的時候,確認到底是哪一個。
  • 給解析練習準備一小串碼。

常見問題

為什麼「中」不是 228 或 E4?

那是 UTF-8 的位元組。這一頁打的是碼位,一個字元一個數。

一個表情符號變成了一個數。

那個數就是碼位。一個表情符號可以是大於 65535 的單個碼位,也可以是一串碼位。每個碼位各算一個數。