การเข้ารหัส

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

Common uses

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 สองตัวเสมอ

บทความ: การเข้ารหัส

Base64: การเข้ารหัสมีไว้ทำไมและทำงานอย่างไร

Base64 เปลี่ยนข้อมูลไบนารีเป็นข้อความ ASCII อย่างไร และเมื่อไหร่ที่จำเป็นต้องใช้จริง ๆ

Base32: ต่างจาก Base64 อย่างไรและสะดวกกว่าเมื่อไหร่

ตัวอักษร Base32 ที่ไม่แยกตัวพิมพ์เล็กใหญ่ และกรณีที่สะดวกกว่า Base64

URL Encode/Decode: percent-encoding ในลิงก์

อักขระพิเศษในที่อยู่และพารามิเตอร์กลายเป็นลำดับ %XX ได้อย่างไร

HTML Entities: วิธีแสดงอักขระพิเศษอย่างปลอดภัย

ทำไมต้อง escape อักขระ < > & และสิ่งนี้ป้องกันไม่ให้มาร์กอัปเสียหายได้อย่างไร

JWT: โครงสร้างโทเคนและความหมายของการ "ถอดรหัส" JWT

header, payload และ signature ของ JWT และทำไมการถอดรหัสจึงไม่เหมือนกับการตรวจสอบลายเซ็น

ROT13 และรหัสซีซาร์: การแทนที่อักขระแบบง่าย

ทำไมการเลื่อน 13 ตัวอักษรทำให้ ROT13 ผกผันในตัวเอง และทำไมยังมีการใช้อยู่ในปัจจุบัน

Punycode: โดเมนสากลทำงานใน DNS อย่างไร

โดเมนที่มีอักขระไม่ใช่ละตินกลายเป็นรูปแบบ ASCII ที่มีคำนำหน้า xn-- ได้อย่างไร

รหัสมอร์ส: ข้อความกลายเป็นจุดและขีดได้อย่างไร

หลักการเข้ารหัสตัวอักษรเป็นจุดและขีด และรหัสมอร์สยังใช้ที่ไหนอยู่บ้างในปัจจุบัน

Data URI: เมื่อไหร่ควรฝังรูปภาพลงในโค้ดโดยตรง

Data URI ฝังเนื้อหาของไฟล์ลงใน HTML หรือ CSS โดยตรงอย่างไร และเมื่อไหร่ที่คุ้มค่า

Gzip + Base64: บีบอัดข้อมูลเพื่อส่งเป็นข้อความ

ทำไมข้อมูลไบนารีที่บีบอัดแล้วจึงถูกเข้ารหัสด้วย Base64 อีกครั้งก่อนใส่ลงในฟิลด์ข้อความ

XML Entities: การ escape อักขระในเอกสาร XML

เอนทิตี XML ที่จำเป็นห้าตัว ซึ่งหากไม่มีเอกสารจะเสียหายขณะแยกวิเคราะห์