เครื่องเข้ารหัส / ถอดรหัส URL
เข้ารหัสและถอดรหัสแบบเปอร์เซ็นต์สำหรับ URL และส่วนประกอบ URL ปลอดภัยกับ UTF-8
เครื่องมือที่เกี่ยวข้อง
วิธีใช้ เข้ารหัส URL
- 01
วางข้อความหรือ URL ของคุณ
- 02
เลือกเข้ารหัสหรือถอดรหัส และขอบเขตส่วนประกอบหรือ URL เต็ม
- 03
คัดลอกผลลัพธ์
การเข้ารหัสเปอร์เซ็นต์ทำอะไร
URL ได้รับอนุญาตให้มีชุดอักขระที่จำกัดเท่านั้น ดังนั้นสิ่งใดก็ตามที่อยู่นอกชุดนั้น การเว้นวรรค ตัวอักษรเน้นเสียง และสัญลักษณ์สงวน เช่น & ? /=ต้องหนี การเข้ารหัสเปอร์เซ็นต์จะแทนที่แต่ละไบต์ด้วยเครื่องหมายเปอร์เซ็นต์และค่าเลขฐานสิบหกสองหลัก ดังนั้นช่องว่างจะกลายเป็น %20 และเครื่องหมายแอมเปอร์แซนด์จะกลายเป็น %26
เครื่องมือนี้เข้ารหัสข้อความและ URL เป็นรูปแบบที่เข้ารหัสเป็นเปอร์เซ็นต์และถอดรหัสกลับ สร้างขึ้นจากฟังก์ชัน encodeURIComponent และ encodeURI มาตรฐานของเบราว์เซอร์ ดังนั้นเอาต์พุตจึงตรงกับสิ่งที่ JavaScript ของคุณสร้างขึ้นทุกประการ และเป็น UTF-8 ปลอดภัยสำหรับข้อความต่างประเทศ
การเข้ารหัสและถอดรหัสจะทำงานทั้งหมดในเบราว์เซอร์ของคุณ ดังนั้นจึงไม่มีการส่งสิ่งใดที่คุณวางไปยังเซิร์ฟเวอร์ ซึ่งทำให้มั่นใจได้ว่าเมื่อ URL มีโทเค็นหรือพารามิเตอร์การสืบค้นที่คุณไม่ต้องการแชร์
โหมดคอมโพเนนต์เทียบกับ URL แบบเต็ม
การสลับขอบเขตมีความสำคัญ โหมดคอมโพเนนต์ (encodeURIComponent) จะหลีกอักขระที่สงวนไว้เช่น & = ? / และเป็นสิ่งที่คุณต้องการสำหรับค่าสตริงการสืบค้นเดียวหรือส่วนของเส้นทาง โหมด URL แบบเต็ม (encodeURI) จะปล่อยให้อักขระที่มีโครงสร้างไม่เสียหาย ดังนั้น URL ที่สมบูรณ์จึงยังสามารถใช้งานได้
ข้อผิดพลาดทั่วไปที่ควรหลีกเลี่ยง
ข้อผิดพลาดทั่วไปคือการเข้ารหัส URL ทั้งหมดด้วยโหมดคอมโพเนนต์ ซึ่งจะเลี่ยงเครื่องหมาย :// และ ? และทำลายลิงค์ อีกประการหนึ่งคือการเข้ารหัสสองครั้ง โดยที่สตริงที่เข้ารหัสแล้วจะถูกเข้ารหัสอีกครั้ง และ %20 จะกลายเป็น %2520 หากมีข้อสงสัย ให้ถอดรหัสก่อนเพื่อดูมูลค่าดิบ
เครื่องหมายบวกในสตริงการสืบค้น
นอกจากนี้ยังมีนิสัยแปลกในอดีตในสตริงการสืบค้น: การส่งแบบฟอร์มเข้ารหัสช่องว่างเป็นเครื่องหมายบวก ในขณะที่การเข้ารหัสเปอร์เซ็นต์ใช้ %20 ทั้งสองอย่างนี้พบเห็นได้ทั่วไป ดังนั้นโดยทั่วไปแล้วผู้ถอดรหัสจึงยอมรับเช่นกัน
คำถามที่พบบ่อย
ส่วนประกอบเทียบกับ URL เต็ม?
'ส่วนประกอบ' (encodeURIComponent) หลีกอักขระสงวนอย่าง & = ? / สำหรับค่าคิวรี 'URL เต็ม' (encodeURI) คงโครงสร้าง URL ไว้
ทำไมการถอดรหัสล้มเหลว?
ลำดับเปอร์เซ็นต์ที่ผิดรูป (เช่น % โดดๆ) ถอดรหัสไม่ได้ ตรวจสอบข้อมูลหรือเข้ารหัสใหม่ก่อน