เข้ารหัสและถอดรหัส HTML ฟรี
เข้ารหัสอักขระพิเศษเป็น HTML entity หรือถอดรหัส entity กลับเป็นข้อความธรรมดา ทันทีในเบราว์เซอร์
รายการเอนทิตี HTML ที่ใช้บ่อย
การใช้งานทั่วไป
- เข้ารหัสเนื้อหาสำหรับ 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 ที่ไม่ค่อยพบ (เช่น á หรือ “) เครื่องมือจะมอบให้ตัวแยกวิเคราะห์ HTML ของเบราว์เซอร์เองเป็นทางสำรองที่ไม่มีต้นทุน
- 1regex สแกนหาอักขระที่จะแทนที่เมื่อเข้ารหัส regex ที่รองรับ Unicode หนึ่งในสองตัวจะทำงานกับอินพุต: รูปแบบเฉพาะที่ครอบคลุมอักขระสำคัญใน HTML และอักขระพิเศษทั่วไปราว 25 ตัว หรือรูปแบบกว้างที่จับทุก code point ที่สูงกว่า U+007F แต่ละตำแหน่งที่ตรงกันถูกจัดการทีละอักขระ
- 2ตารางค้นหาหรือ codePointAt() สร้าง entityสำหรับผลลัพธ์แบบ named entity อักขระที่ตรงกันถูกค้นหาในตารางที่กำหนดไว้ (เช่น & → &, © → ©) สำหรับผลลัพธ์แบบทศนิยมหรือฐานสิบหก String.codePointAt() ดึง code point ของ Unicode และจัดรูปแบบเป็น &#NNN; หรือ &#xNNN; — surrogate pair ถูกจัดการได้ถูกต้องเพราะ regex ใช้แฟล็ก 'u' ของ Unicode
- 3regex รอบเดียวถอดรหัส entity กลับเป็นอักขระเมื่อถอดรหัส regex รอบเดียวระบุโทเค็น entity ทั้งหมด (&, A, A ฯลฯ) และส่งแต่ละตัวไปยังตัวจัดการที่เหมาะสม: parseInt ฐานสิบหก (base 16), Number() ทศนิยม, การค้นหาย้อนกลับแบบ named หรือ — สำหรับ entity ที่ไม่อยู่ในตาราง — องค์ประกอบ textarea ที่เบราว์เซอร์แยกวิเคราะห์ innerHTML แบบเนทีฟ คืนอักขระที่ถูกต้องจากตาราง entity ในตัวของเบราว์เซอร์
- 4ผลลัพธ์ปรากฏทันที คัดลอกไปยังคลิปบอร์ดผ่าน Clipboard APIผลลัพธ์คำนวณใหม่แบบซิงโครนัสทุกการกดแป้นผ่าน React useMemo การคัดลอกใช้ navigator.clipboard.writeText() — Clipboard API แบบ async สมัยใหม่ — พร้อมการดักข้อผิดพลาดแบบเงียบสำหรับบริบทที่ถูกจำกัด
เครื่องมือที่เกี่ยวข้อง
ตัวเข้ารหัสและถอดรหัส URL
เข้ารหัสและถอดรหัส URL และสตริงคิวรี รองรับ encodeURIComponent, decodeURIComponent และการแยกวิเคราะห์สตริงคิวรี
เข้ารหัสและถอดรหัส Base64
เข้ารหัสข้อความหรือไฟล์เป็น Base64 หรือถอดรหัสสตริง Base64 กลับเป็นข้อความธรรมดา รวดเร็ว ปลอดภัย และฟรี
Caesar Cipher และการเข้ารหัสข้อความ
เข้ารหัสและถอดรหัสข้อความด้วย Caesar cipher, ROT13, Atbash และ Vigenère cipher การเข้ารหัสแบบแทนที่แบบคลาสสิก ทั้งหมดในเบราว์เซอร์