Mã hóa

Unicode Escape

Mã hóa và giải mã chuỗi Unicode — ký tự dưới dạng \uXXXX và ngược lại.

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.

Bài viết về công cụ này: Unicode Escape: chuỗi \uXXXX nghĩa là gì

Câu hỏi thường gặp

Chuỗi thoát \uXXXX đại diện cho điều gì?

Đó là một điểm mã Unicode viết dưới dạng bốn chữ số thập lục phân, dùng trong JSON, chuỗi JavaScript và các định dạng tương tự để biểu diễn một ký tự mà không cần gõ trực tiếp.

Vì sao một số ký tự như emoji lại biến thành hai chuỗi \u?

Các ký tự ngoài Mặt phẳng Đa ngôn ngữ Cơ bản (ký tự astral, gồm hầu hết emoji) không vừa trong một đơn vị \uXXXX 16-bit, nên được biểu diễn dưới dạng cặp thay thế — hai chuỗi \uXXXX cùng nhau mã hóa một ký tự.

Sự khác biệt giữa chế độ "Ngoài ASCII" và "Tất cả ký tự" là gì?

"Ngoài ASCII" chỉ thoát các ký tự ngoài phạm vi ASCII cơ bản, giữ nguyên chữ cái, chữ số và dấu câu thông thường. "Tất cả ký tự" thoát mọi thứ, kể cả ASCII, hữu ích để xem chính xác nội dung ký tự.

Điều gì xảy ra nếu một cặp thay thế bị tách đôi?

Kết quả là một ký tự "mồ côi" không hợp lệ — một mã đơn độc không có cặp đi kèm. Hầu hết trình phân tích sẽ từ chối chuỗi đó kèm lỗi, hoặc hiển thị ký tự thay thế "�".

Có thể mã hóa một ký tự emoji chỉ bằng một \uXXXX không?

Không, nếu emoji đó nằm ngoài Mặt phẳng Đa ngôn ngữ Cơ bản (và phần lớn emoji hiện đại đều như vậy) — nó luôn cần một cặp thay thế gồm hai chuỗi \uXXXX.

Bài viết: Mã hóa

Base64: mã hóa để làm gì và hoạt động ra sao

Base64 biến dữ liệu nhị phân thành văn bản ASCII như thế nào và khi nào thực sự cần đến nó.

Base32: khác gì với Base64 và khi nào tiện hơn

Bảng chữ cái Base32 không phân biệt hoa thường và các trường hợp nó tiện hơn Base64.

URL Encode/Decode: percent-encoding trong liên kết

Các ký tự đặc biệt trong địa chỉ và tham số trở thành chuỗi %XX như thế nào.

HTML Entities: cách hiển thị ký tự đặc biệt an toàn

Vì sao các ký tự < > & cần được escape và điều đó giúp tránh hỏng mã HTML thế nào.

JWT: cấu trúc token và "giải mã" JWT nghĩa là gì

Header, payload và signature của JWT, và vì sao giải mã không giống với xác minh chữ ký.

ROT13 và mật mã Caesar: thay thế ký tự đơn giản

Vì sao dịch 13 chữ cái khiến ROT13 tự nghịch đảo, và vì sao ngày nay người ta vẫn dùng nó.

Punycode: tên miền quốc tế hóa hoạt động thế nào trong DNS

Một tên miền chứa ký tự không phải Latinh trở thành dạng ASCII với tiền tố xn-- như thế nào.

Mã Morse: văn bản biến thành chấm và gạch ra sao

Nguyên lý mã hóa chữ cái thành chấm và gạch, và mã Morse còn được dùng ở đâu hiện nay.

Data URI: khi nào nên nhúng hình ảnh trực tiếp vào mã

Một Data URI nhúng nội dung tệp trực tiếp vào HTML hoặc CSS ra sao, và khi nào đáng làm vậy.

Gzip + Base64: nén dữ liệu để truyền dưới dạng văn bản

Vì sao dữ liệu nhị phân đã nén còn được mã hóa Base64 trước khi đưa vào trường văn bản.

XML Entities: escape ký tự trong tài liệu XML

Năm entity XML bắt buộc, thiếu chúng tài liệu sẽ hỏng khi phân tích cú pháp.