歡迎造訪 AI DO TOOL 網站

Unicode 跳脫編解碼

字元與 \uXXXX 跳脫雙向互轉;emoji 等補充平面字元正確拆成代理對,並列出每個字元的碼位、UTF-8 位元組與 UTF-16 單元。

結果\u4F60\u597D\u002C\u0020\uD83D\uDE00\u0020\u0041
逐字元明細
字元碼位UTF-8 位元組UTF-16 單元
你U+4F600xE4 0xBD 0xA0U+4F60
好U+597D0xE5 0xA5 0xBDU+597D
,U+002C0x2CU+002C
U+00200x20U+0020
😀U+1F6000xF0 0x9F 0x98 0x80U+D83D
U+00200x20U+0020
AU+00410x41U+0041

概念

每個字元都住在一個編號碼位上:A 是 U+0041,中是 U+4E2D。JavaScript 用 \uXXXX 跳脫寫法表示它們。坑在於:emoji 和罕用字住在前 65536 格之外,所以一個 emoji 不是一個 \uXXXX,而是一對,叫代理對——例如笑臉就變成 \uD83D\uDE00。本工具兩個平面都正確處理,並列出每個字元的碼位、UTF-8 位元組和 UTF-16 碼元。

描述與趣事

為什麼一個笑臉要占兩個跳脫?因為這套系統設計時覺得 65536 格無限夠用,而 emoji 是幾十年後才來的。工程師只好打補丁:保留 D800–DFFF 區間。高位代理後接低位代理,就代表一個超大字元。這個補丁太成功,現在誰也不敢拆。

歷史與由來

Unicode 聯盟於 1991 年 10 月發布第一版 Unicode 標準。2.0 版(1996 年 7 月)把容量擴到上百萬個碼位,並引入帶代理對的 UTF-16,由 Peter Hartke 等工程師與 Unicode 技術委員會主導——這就是今天 emoji 總是兩個跳脫的原因。

相關關鍵字

unicode 跳脫uxxxx 轉換代理對emoji unicode碼位
Keep a kind heart, hold integrity as your foundation, and cherish warm love; may the world know peace and humanity live in harmony.
持善良之心,守正直之本,怀温暖之爱;愿世界和平,人间祥和。