ข้ามไปยังเนื้อหาหลัก

เข้ารหัสและถอดรหัส HTML ฟรี

เข้ารหัสอักขระพิเศษเป็น HTML entity หรือถอดรหัส entity กลับเป็นข้อความธรรมดา ทันทีในเบราว์เซอร์

ใช้งานได้แบบออฟไลน์เมื่อโหลดแล้ว
เอาต์พุต:
ตัวอย่าง:
ข้อความธรรมดา / HTML
HTML ที่เข้ารหัสแล้ว
ผลลัพธ์จะปรากฏที่นี่…
รายการเอนทิตี HTML ที่ใช้บ่อย
&&
<&lt;
>&gt;
"&quot;
'&#39;
·&nbsp;
©&copy;
®&reg;
™&trade;
€&euro;
—&mdash;
…&hellip;

การใช้งานทั่วไป

  • เข้ารหัสเนื้อหาสำหรับ RSS Feedsเข้ารหัสเนื้อหา HTML สำหรับคำอธิบายรายการ RSS feed — ต้องใช้โดยมาตรฐาน RSS 2.0
  • ฉีดอินพุตผู้ใช้สำหรับเอาต์พุต HTMLเข้ารหัสสตริงที่ให้มาโดยผู้ใช้ก่อนแทรกลงใน HTML — ป้องกันการโจมตีด้วยการฉีด XSS
  • เข้ารหัสอักขระพิเศษสำหรับอีเมล HTMLเข้ารหัสอักขระเช่น & < > และ © เป็นเอนทิตี้ HTML เพื่อให้แสดงผลได้อย่างถูกต้องในไคลเอนต์อีเมลทั้งหมด
  • เข้ารหัสเนื้อหาผู้ใช้สำหรับการแสดงผล Webป้องกันการโจมตี XSS โดยเข้ารหัสเนื้อหาที่ผู้ใช้สร้างขึ้นก่อนการแสดงผลในหน้า HTML
  • เข้ารหัสเนื้อหาสำหรับ XMLเข้ารหัสอักขระพิเศษสำหรับไฟล์ XML ฟีด RSS แผนที่ไซต์ และเพลเดอร์ SOAP

วิธีการทำงาน

การเข้ารหัสและถอดรหัส HTML ที่นี่ทำงานในเบราว์เซอร์ทั้งหมดด้วยการแทนที่ regex ที่เขียนขึ้นเองและตารางค้นหา named entity ที่กำหนดไว้ — ไม่มีไลบรารีเข้ารหัสภายนอก ไม่มีการเรียกเซิร์ฟเวอร์ไปกลับ สำหรับการถอดรหัส named entity ที่ไม่ค่อยพบ (เช่น &aacute; หรือ &ldquo;) เครื่องมือจะมอบให้ตัวแยกวิเคราะห์ HTML ของเบราว์เซอร์เองเป็นทางสำรองที่ไม่มีต้นทุน

  1. 1
    regex สแกนหาอักขระที่จะแทนที่
    เมื่อเข้ารหัส regex ที่รองรับ Unicode หนึ่งในสองตัวจะทำงานกับอินพุต: รูปแบบเฉพาะที่ครอบคลุมอักขระสำคัญใน HTML และอักขระพิเศษทั่วไปราว 25 ตัว หรือรูปแบบกว้างที่จับทุก code point ที่สูงกว่า U+007F แต่ละตำแหน่งที่ตรงกันถูกจัดการทีละอักขระ
  2. 2
    ตารางค้นหาหรือ codePointAt() สร้าง entity
    สำหรับผลลัพธ์แบบ named entity อักขระที่ตรงกันถูกค้นหาในตารางที่กำหนดไว้ (เช่น & → &amp;, © → &copy;) สำหรับผลลัพธ์แบบทศนิยมหรือฐานสิบหก String.codePointAt() ดึง code point ของ Unicode และจัดรูปแบบเป็น &#NNN; หรือ &#xNNN; — surrogate pair ถูกจัดการได้ถูกต้องเพราะ regex ใช้แฟล็ก 'u' ของ Unicode
  3. 3
    regex รอบเดียวถอดรหัส entity กลับเป็นอักขระ
    เมื่อถอดรหัส regex รอบเดียวระบุโทเค็น entity ทั้งหมด (&amp;, &#65;, &#x41; ฯลฯ) และส่งแต่ละตัวไปยังตัวจัดการที่เหมาะสม: parseInt ฐานสิบหก (base 16), Number() ทศนิยม, การค้นหาย้อนกลับแบบ named หรือ — สำหรับ entity ที่ไม่อยู่ในตาราง — องค์ประกอบ textarea ที่เบราว์เซอร์แยกวิเคราะห์ innerHTML แบบเนทีฟ คืนอักขระที่ถูกต้องจากตาราง entity ในตัวของเบราว์เซอร์
  4. 4
    ผลลัพธ์ปรากฏทันที คัดลอกไปยังคลิปบอร์ดผ่าน Clipboard API
    ผลลัพธ์คำนวณใหม่แบบซิงโครนัสทุกการกดแป้นผ่าน React useMemo การคัดลอกใช้ navigator.clipboard.writeText() — Clipboard API แบบ async สมัยใหม่ — พร้อมการดักข้อผิดพลาดแบบเงียบสำหรับบริบทที่ถูกจำกัด

เครื่องมือที่เกี่ยวข้อง

คำถามที่พบบ่อย