Mã Hóa & Giải Mã HTML miễn phí
Mã hóa các ký tự đặc biệt thành thực thể HTML hoặc giải mã thực thể trở lại văn bản thuần. Tức thì, trên trình duyệt.
Tham chiếu thực thể HTML phổ biến
Công dụng phổ biến
- Mã Hóa Nội Dung Cho RSS FeedMã hóa nội dung HTML cho các mô tả mục nguồn cấp dữ liệu RSS — yêu cầu bởi tiêu chuẩn RSS 2.0.
- Vệ Sinh Đầu Vào Người Dùng Cho Đầu Ra HTMLMã hóa chuỗi do người dùng cung cấp trước khi chèn chúng vào HTML — ngăn chặn các cuộc tấn công tiêm XSS.
- Mã Hóa Ký Tự Đặc Biệt cho Email HTMLMã hóa các ký tự như &, <, > và © dưới dạng thực thể HTML để chúng hiển thị chính xác trên tất cả các ứng dụng khách email.
- Mã Hóa Nội Dung Người Dùng để Hiển Thị WebNgăn chặn các cuộc tấn công XSS bằng cách mã hóa nội dung do người dùng tạo ra trước khi hiển thị nó trong các trang HTML.
- Mã Hóa Nội Dung cho XMLMã hóa các ký tự đặc biệt cho tệp XML, nguồn cấp RSS, sơ đồ trang web và tải trọng SOAP.
Cách hoạt động
Mã hóa và giải mã HTML ở đây chạy hoàn toàn trong trình duyệt bằng thay thế regex tự viết và bảng tra thực thể có tên cố định — không thư viện mã hóa bên thứ ba, không gọi máy chủ. Để giải mã các thực thể có tên ít gặp (như á hoặc “), công cụ giao cho bộ phân tích HTML của chính trình duyệt làm phương án dự phòng không tốn chi phí.
- 1Regex quét các ký tự cần thayKhi mã hóa, một trong hai regex hỗ trợ Unicode chạy trên đầu vào: một mẫu nhắm vào ~25 ký tự đặc biệt và có ý nghĩa trong HTML phổ biến, hoặc một mẫu rộng hơn bắt mọi điểm mã trên U+007F. Mỗi kết quả khớp được xử lý từng ký tự.
- 2Bảng tra hoặc codePointAt() tạo thực thểVới đầu ra thực thể có tên, ký tự khớp được tra trong bảng cố định (ví dụ & → &, © → ©). Với đầu ra thập phân hoặc hex, String.codePointAt() lấy điểm mã Unicode và định dạng thành &#NNN; hoặc &#xNNN; — cặp thay thế (surrogate pair) được xử lý đúng vì regex dùng cờ Unicode 'u'.
- 3Regex một lượt giải mã thực thể về ký tựKhi giải mã, một lượt regex duy nhất nhận diện mọi token thực thể (&, A, A, v.v.) và chuyển mỗi token đến bộ xử lý phù hợp: parseInt hex (cơ số 16), Number() thập phân, tra ngược tên, hoặc — với thực thể không có trong bảng cố định — một phần tử textarea mà trình duyệt phân tích innerHTML một cách tự nhiên, trả về ký tự đúng từ bảng thực thể tích hợp của trình duyệt.
- 4Kết quả xuất hiện tức thì; sao chép qua Clipboard APIĐầu ra được tính lại đồng bộ với mỗi lần gõ phím qua useMemo của React. Sao chép dùng navigator.clipboard.writeText() — Clipboard API bất đồng bộ hiện đại — với xử lý lỗi im lặng cho các ngữ cảnh bị hạn chế.
Công cụ liên quan
Bộ mã hóa và giải mã URL
Mã hóa và giải mã URL và chuỗi truy vấn. Hỗ trợ encodeURIComponent, decodeURIComponent và phân tích chuỗi truy vấn.
Mã Hóa & Giải Mã Base64
Mã hóa văn bản hoặc tệp sang Base64, hoặc giải mã chuỗi Base64 trở lại văn bản thuần. Tức thì, riêng tư và miễn phí.
Mật Mã Caesar & Mã Hóa Văn Bản
Mã hóa và giải mã văn bản bằng mật mã Caesar, ROT13, Atbash và mật mã Vigenère. Các mật mã thay thế cổ điển, tất cả trên trình duyệt.