Mã hóa

XML Entities Encode/Decode

Mã hóa và giải mã thực thể XML — 5 thực thể chuẩn (dấu và, dấu ngoặc nhọn, dấu nháy đơn, dấu ngoặc kép) và tham chiếu ký tự số.

Unlike HTML, XML strictly requires escaping five special characters (&, <, >, ', "), or the document is considered invalid. This tool encodes and decodes those entities, as well as numeric character references.

How to use it

Common uses

Things to keep in mind

XML parsers are much stricter than HTML: a single unescaped entity invalidates the entire document, not just one element.

CDATA sections (<![CDATA[...]]>) are an alternative to escaping for large blocks of text, letting you insert arbitrary content without replacing every special character individually.

Bài viết về công cụ này: XML Entities: escape ký tự trong tài liệu XML

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

5 thực thể XML được định nghĩa sẵn là gì?

XML chỉ định nghĩa sẵn năm thực thể có tên: &amp; (dấu và), &lt; và &gt; (dấu ngoặc nhọn), &apos; (dấu nháy đơn) và &quot; (dấu ngoặc kép). Bất cứ thứ gì khác cần tham chiếu ký tự dạng số.

Điều này khác gì so với mã hóa thực thể HTML?

HTML định nghĩa một tập thực thể có tên lớn hơn nhiều (như &nbsp; hay &copy;), trong khi XML nghiêm ngặt chỉ nhận ra năm thực thể định nghĩa sẵn — mọi ký tự đặc biệt khác trong XML phải dùng tham chiếu số như &#169; hoặc &#xA9;.

Khi nào tôi cần thoát các thực thể XML?

Hãy thoát các ký tự như < > & ' " bất cứ khi nào chúng xuất hiện trong nội dung văn bản hoặc giá trị thuộc tính của tài liệu XML, để trình phân tích không nhầm chúng là markup và không phân tích được tệp.

CDATA là gì và khi nào nên dùng thay vì entity?

Khối &lt;![CDATA[...]]&gt; cho phép chèn một đoạn văn bản mà không cần escape < và & — tiện lợi cho các đoạn mã hoặc HTML lớn nằm trong XML. Ngoại lệ là chuỗi ]]>, vốn dùng để đóng CDATA và không thể xuất hiện trong chính nội dung đó.

Các trình phân tích XML có xử lý entity không hợp lệ giống nhau không?

Không, và khác với trình duyệt vốn "bỏ qua" lỗi trong HTML, trình phân tích XML rất nghiêm ngặt: chỉ một dấu và hay dấu ngoặc nhọn chưa escape cũng khiến toàn bộ tài liệu không hợp lệ, và quá trình xử lý dừng lại với lỗi.

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ự &lt; &gt; &amp; 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ý.

Unicode Escape: chuỗi \uXXXX nghĩa là gì

Chuỗi kiểu \u0041 trong JSON và chuỗi JS đến từ đâu và chúng nghĩa là gì.

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.