ตัวเข้ารหัส URL / เครื่องถอดรหัส
เข้ารหัสและถอดรหัส URL และส่วนประกอบ URI ทันทีในเบราว์เซอร์ของคุณ ฟรี เป็นส่วนตัว และไม่จำเป็นต้องอัปโหลด
เข้ารหัสและถอดรหัส URL และส่วนประกอบ URI ทันทีในเบราว์เซอร์ของคุณ ฟรี เป็นส่วนตัว และไม่จำเป็นต้องอัปโหลด
การเข้ารหัส URL (การเข้ารหัสเปอร์เซ็นต์อย่างเป็นทางการ ซึ่งกำหนดใน RFC 3986) แปลอักขระที่มีความหมายพิเศษใน URL เช่น ช่องว่าง เครื่องหมายทับ เครื่องหมายแอมเปอร์แซนด์ เครื่องหมายแฮช ให้อยู่ในรูปแบบที่ปลอดภัยโดยใช้เครื่องหมายเปอร์เซ็นต์ตามด้วยเลขฐานสิบหก อักขระช่องว่างกลายเป็น %20 (หรือ + ในบริบทที่เข้ารหัสแบบฟอร์ม) เครื่องหมายและกลายเป็น %26 และอื่นๆ หากไม่มีการเข้ารหัสนี้ อักขระพิเศษจะถูกตีความว่าเป็นไวยากรณ์ของ URL แทนที่จะเป็นข้อมูลตามตัวอักษร ทำให้ URL เสียหาย หรือทำให้เกิดการทำงานที่ไม่ได้ตั้งใจ
มีการเข้ารหัสที่เกี่ยวข้องแต่แตกต่างกันสองรายการ การเข้ารหัสองค์ประกอบ URL มาตรฐานใช้ %-escapes สำหรับทุกสิ่งที่อยู่นอกชุดอักขระที่ไม่ได้สงวนไว้: A-Z, a-z, 0-9, ยัติภังค์, ขีดล่าง, จุด, ตัวหนอน รูปแบบที่เข้ารหัสแบบฟอร์ม (application/x-www-form-urlencoded) ยังถือว่าช่องว่างเป็นเครื่องหมายบวก และใช้กฎที่แตกต่างกันสำหรับอักขระอื่นๆ บางตัว encodeURIComponent ของ JavaScript ใช้การเข้ารหัสองค์ประกอบที่เข้มงวด encodeURI ใช้รูปแบบที่อนุญาตมากกว่าที่จะรักษาอักขระโครงสร้าง URL
เครื่องมือนี้มีทั้งการเข้ารหัสและการถอดรหัส โหมดเข้ารหัสจะล้อมอักขระแต่ละตัวที่ต้องมีการ Escape ในรูปแบบ %HH โหมดถอดรหัสกลับการแปลง ทั้งสองทำงานทั้งหมดในเบราว์เซอร์ของคุณโดยใช้ฟังก์ชัน JavaScript URL ในตัว ดังนั้นจึงไม่มีการส่งข้อมูลไปที่ใดเลย
ทุกครั้งที่ข้อมูลรวมอยู่ใน URL — พารามิเตอร์สตริงการสืบค้น, ส่วนของเส้นทางที่มีการป้อนข้อมูลของผู้ใช้, เป้าหมายการเปลี่ยนเส้นทาง — จำเป็นต้องมีการเข้ารหัสที่เหมาะสม การไม่เข้ารหัสจะทำให้เกิด URL ที่เสียหายเมื่อมีอักขระพิเศษปรากฏขึ้น ขอบเขตพารามิเตอร์รั่วไหลไปยังสตริงการสืบค้น (เปลี่ยน &x=1 ให้เป็นพารามิเตอร์แยกต่างหาก) หรือถูกบล็อกโดยเว็บเซิร์ฟเวอร์เนื่องจากคำขอที่มีรูปแบบไม่ถูกต้อง
การถอดรหัสเป็นสิ่งที่ตรงกันข้าม: การแยกข้อมูลต้นฉบับออกจาก URL ที่เข้ารหัส แถบที่อยู่ของเบราว์เซอร์มักแสดง URL ในรูปแบบที่เข้ารหัส การถอดรหัสเผยให้เห็นสิ่งที่ตั้งใจไว้จริง การบันทึก การแก้ไขข้อบกพร่อง และการวิเคราะห์ความปลอดภัยล้วนได้รับประโยชน์จาก URL ที่ถอดรหัสซึ่งแสดงพารามิเตอร์และเส้นทางดั้งเดิม
วางสตริง เลือกทิศทาง
encodeURIComponent เข้ารหัสอักขระทุกตัวนอกชุดที่ไม่ได้สงวนไว้ [A-Za-z0-9-_.~] ช่องว่างกลายเป็น %20 เครื่องหมายบวกกลายเป็น %2B เครื่องหมายเท่ากับกลายเป็น %3D และอื่นๆ อักขระที่อยู่นอก ASCII จะถูกเข้ารหัสครั้งแรกในรูปแบบ UTF-8 จากนั้นแต่ละไบต์จะเป็น %-escape
encodeURI อนุญาตมากกว่าและมีไว้สำหรับ URL แบบเต็มแทนที่จะเป็นส่วนประกอบ มันใช้ไม่ได้หนี /, ?, &, =, # และอื่นๆ อีกสองสามตัว เนื่องจากอักขระเหล่านั้นมีความหมายทางไวยากรณ์ URL สำหรับการฝังข้อมูลผู้ใช้ใน URL encodeURIComponent มักจะเป็นตัวเลือกที่ถูกต้องเสมอไป
decodeURIComponent จะกลับค่า %-escapes เพื่อตรวจสอบว่าการ Escape แต่ละรายการมีรูปแบบที่ถูกต้องและไบต์ผลลัพธ์ที่ได้จะอยู่ในรูปแบบ UTF-8 ที่ถูกต้อง อินพุตที่มีรูปแบบไม่ถูกต้องทำให้เกิดข้อผิดพลาดแทนที่จะสร้างขยะ