HTML Escape / Unescape

Chuyển mã và giải mã HTML

Bạn có thể chuyển đổi các ký tự đặc biệt trong HTML thành tham chiếu ký tự, hoặc chuyển đổi các tham chiếu ký tự trở lại thành các ký tự gốc của chúng.

Kết quả dịch

Vui lòng nhập văn bản cần chuyển đổi.

HTML escaping là gì?

Quá trình thoát HTML là việc thay thế các ký tự có ý nghĩa đặc biệt trong HTML bằng các tham chiếu ký tự. Ví dụ: dấu nhỏ hơn được biểu diễn là <, dấu lớn hơn là > và dấu & là &. Điều này ngăn không cho chúng bị hiểu nhầm là thẻ HTML, giúp mã nguồn và các chuỗi nhập liệu được hiển thị trên màn hình chính xác như bản gốc.

Việc gỡ mã thoát (unescaping) thực hiện ngược lại: nó khôi phục các ký tự tham chiếu như < và " về các ký hiệu ban đầu của chúng. Điều này hữu ích để kiểm tra các chuỗi đã được mã hóa thoát có trong nhật ký, mẫu, nội dung CMS, nội dung email, phản hồi API và nhiều nơi khác.

Công cụ này không gửi dữ liệu đầu vào lên máy chủ; thay vào đó, nó thực hiện việc chuyển đổi hoàn toàn trong trình duyệt bằng JavaScript. Ngay cả khi xử lý văn bản nhạy cảm, công cụ này vẫn an toàn hơn so với các công cụ chuyển đổi liên quan đến giao tiếp mạng. Tuy nhiên, khi nhúng kết quả đã chuyển đổi vào trang web, vui lòng kiểm tra xem các biện pháp bảo mật phù hợp đã được áp dụng hay chưa, dựa trên khung công tác (framework) bạn đang sử dụng và vị trí hiển thị nội dung.

Cách sử dụng

  1. Dán mã HTML hoặc các tham chiếu ký tự mà bạn muốn chuyển đổi vào ô nhập liệu.
  2. Chọn một trong hai tùy chọn: "Escape HTML" hoặc "Unescape HTML."
  3. Khi nhấp vào "Chuyển đổi", bạn sẽ tự động được chuyển đến phần kết quả.
  4. Nếu cần, hãy sao chép kết quả hoặc hoán đổi đầu vào và kết quả để thực hiện phép chuyển đổi ngược lại.

Ví dụ về bản dịch

<div class="message">Tom & Jerry</div>
↓
&lt;div class=&quot;message&quot;&gt;Tom &amp; Jerry&lt;/div&gt;

Các lưu ý khi sử dụng

  • Việc thoát ký tự giúp tạo các chuỗi văn bản để hiển thị, nhưng không thể thay thế cho biện pháp bảo vệ chống tấn công SQL injection hoặc mã hóa URL.
  • Nếu bạn chèn một chuỗi chưa được thoát trực tiếp vào `innerHTML` hoặc các phần tương tự, có nguy cơ các tập lệnh có thể được thực thi, tùy thuộc vào nội dung.
  • Công cụ này chủ yếu chuyển đổi các ký hiệu &amp;, &lt;, &gt;, dấu ngoặc kép và dấu ngoặc đơn.

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

HTML escaping là gì?

Việc này bao gồm việc chuyển đổi các ký hiệu có ý nghĩa đặc biệt trong HTML thành các tham chiếu ký tự để chúng có thể được hiển thị an toàn dưới dạng văn bản trên màn hình.

HTML unescaping là gì?

Quy trình này chuyển đổi các ký tự tham chiếu như &amp;lt; và &amp;amp; trở lại thành các ký tự gốc của chúng, &lt; và &amp;.

Dữ liệu đã nhập có được gửi lên máy chủ không?

Không. Quá trình chuyển đổi được thực hiện hoàn toàn bằng JavaScript trong trình duyệt.

Những ký tự nào sẽ được chuyển đổi?

Việc này chủ yếu chuyển đổi ký hiệu &amp;, dấu nhỏ hơn, dấu lớn hơn, dấu ngoặc kép và dấu ngoặc đơn.

Các thẻ HTML có thể hiển thị trực tiếp trên màn hình không?

Đúng. Nếu bạn sử dụng kết quả đã được thoát, nó sẽ không bị hiểu là thẻ và sẽ được hiển thị dưới dạng chuỗi ký tự.

Điều này có thể được sử dụng như một biện pháp phòng ngừa XSS không?

Mặc dù đây là một trong những biện pháp cơ bản để hiển thị các chuỗi văn bản trong nội dung thân trang HTML, nhưng cần phải áp dụng các biện pháp phù hợp tùy thuộc vào đích đầu ra, chẳng hạn như giá trị thuộc tính, JavaScript và URL.

Điều này khác với mã hóa URL như thế nào?

Quá trình thoát ký tự HTML nhắm đến các ký tự đặc biệt trong HTML, trong khi mã hóa URL chuyển đổi các ký tự không thể sử dụng trong URL thành dạng mã hóa phần trăm.

Các dòng mới và khoảng trắng cũng sẽ được chuyển đổi chứ?

Các dấu ngắt dòng và khoảng trắng tiêu chuẩn sẽ được giữ nguyên. Vui lòng điều chỉnh các dấu ngắt dòng trong phần hiển thị HTML một cách riêng biệt bằng CSS, thẻ `br` hoặc các phương pháp khác.

Nếu bạn sử dụng ký tự thoát kép thì sẽ xảy ra điều gì?

Ví dụ: ký hiệu ampersand &amp;lt; được chuyển đổi lại thành &amp;amp;lt;. Vui lòng lưu ý không chuyển đổi nhiều lần hơn mức cần thiết.

Tôi có thể hoàn tác việc chuyển đổi này không?

Có. Bạn có thể hoàn tác thay đổi bằng cách hoán đổi vị trí giữa trường nhập liệu và kết quả, sau đó chọn phương pháp chuyển đổi ngược lại.

Bạn có thể dịch được lượng văn bản lớn không?

Việc chuyển đổi có thể thực hiện được trong phạm vi khả năng xử lý và bộ nhớ của trình duyệt của bạn. Hiệu suất có thể chậm khi xử lý các tập dữ liệu rất lớn.