การเข้ารหัส
Unicode Escape
เข้ารหัสและถอดรหัสลำดับ Unicode — อักขระในรูปแบบ \uXXXX และย้อนกลับ
A Unicode escape sequence (\uXXXX) writes a character as its code point instead of the character itself — so a string literal in code can contain any Unicode character while the source file itself stays plain ASCII.
How to use it
- Encode: paste text and every non-ASCII character gets replaced with its matching \uXXXX sequence.
- Decode: paste a string containing \uXXXX sequences to get plain, readable text back.
- Characters outside the Basic Multilingual Plane (most emoji) are encoded as a surrogate pair of two sequences.
Common uses
- Reading JSON or JS code where non-ASCII text was pre-escaped into \uXXXX for compatibility.
- Inserting a character that's not on the keyboard into code via an explicit Unicode escape.
- Debugging why a string with an emoji shows up as two odd characters — recognizing a surrogate pair.
Things to keep in mind
\uXXXX encodes exactly one 16-bit UTF-16 unit, not one visible character — characters outside the Basic Multilingual Plane (most emoji) need two such sequences together (a surrogate pair).
JSON only requires escaping for control characters and a few special characters — escaping every character as \uXXXX isn't required, though it is valid.
บทความเกี่ยวกับเครื่องมือนี้: Unicode Escape: ลำดับ \uXXXX หมายความว่าอย่างไร
คำถามที่พบบ่อย
ลำดับหลีก \uXXXX แทนอะไร?
มันคือจุดรหัสยูนิโค้ดที่เขียนเป็นเลขฐานสิบหกสี่หลัก ใช้ใน JSON, สตริง JavaScript และรูปแบบที่คล้ายกันเพื่อแทนอักขระโดยไม่ต้องพิมพ์ตรง ๆ
ทำไมบางอักขระอย่างอิโมจิถึงกลายเป็นสองลำดับ \u?
อักขระนอก Basic Multilingual Plane (อักขระ astral รวมถึงอิโมจิส่วนใหญ่) ไม่สามารถใส่ในหน่วย \uXXXX 16 บิตเดียวได้ จึงถูกแทนด้วยคู่ surrogate ซึ่งคือสองลำดับ \uXXXX ที่รวมกันเข้ารหัสอักขระหนึ่งตัว
โหมด "นอก ASCII" กับ "ทุกอักขระ" ต่างกันอย่างไร?
"นอก ASCII" จะหลีกเฉพาะอักขระนอกช่วง ASCII พื้นฐาน โดยคงตัวอักษร ตัวเลข และเครื่องหมายวรรคตอนทั่วไปไว้ ส่วน "ทุกอักขระ" จะหลีกทุกอย่างรวมถึง ASCII ด้วย ซึ่งมีประโยชน์สำหรับตรวจสอบเนื้อหาอักขระที่แน่นอน
จะเกิดอะไรขึ้นถ้าคู่ surrogate ถูกแยกออกจากกัน?
จะได้อักขระ "กำพร้า" ที่ไม่ถูกต้อง — รหัสตัวเดียวที่ไม่มีคู่ ตัวแยกวิเคราะห์ส่วนใหญ่จะปฏิเสธสตริงนั้นด้วยข้อผิดพลาด หรือแสดงเป็นอักขระตัวแทน "�"
เข้ารหัสอิโมจิด้วย \uXXXX ตัวเดียวได้หรือไม่?
ไม่ได้ ถ้าอิโมจินั้นอยู่นอก Basic Multilingual Plane (ซึ่งอิโมจิสมัยใหม่ส่วนใหญ่เป็นแบบนั้น) — จะต้องใช้คู่ surrogate ซึ่งประกอบด้วยลำดับ \uXXXX สองตัวเสมอ