ตัวเข้ารหัส / ตัวถอดรหัส URL คืออะไร?
ตัวเข้ารหัส/ถอดรหัส URL เป็นเครื่องมือพัฒนาเว็บที่จำเป็นซึ่งแปลงระหว่างข้อความปกติและรูปแบบการเข้ารหัสร้อยละที่ปลอดภัยสำหรับ URL เมื่อ URL มีช่องว่าง สัญลักษณ์พิเศษ หรืออักขระที่ไม่ใช่ ASCII เช่น ตัวอักษรที่มีเครื่องหมายเสริมและอิโมจิ ข้อความจะเสียหายหากไม่ได้เข้ารหัสอย่างถูกต้อง เครื่องมือนี้ให้การเข้ารหัสและถอดรหัสทันทีพร้อมรองรับทั้งโหมด URL (การเข้ารหัส URL ทั้งหมด) และโหมดส่วนประกอบ (การเข้ารหัสค่าพารามิเตอร์แบบสอบถามแต่ละรายการ) รวมถึงโหมดชุดสำหรับประมวลผลหลายสตริงพร้อมกัน
เมื่อไหร่ควรใช้เครื่องคำนวณนี้
- คุณกำลังสร้าง URL ที่มีพารามิเตอร์คิวรีซึ่งมีช่องว่าง สัญลักษณ์ หรืออักขระที่ไม่ใช่ ASCII
- คุณต้องถอดรหัส URL แบบเปอร์เซ็นต์เพื่ออ่านเนื้อหาจริง
- คุณกำลังแก้ไขจุดบกพร่องของ API ที่ปฏิเสธ URL ของคุณเพราะอักขระพิเศษที่ไม่ได้เข้ารหัส
- คุณกำลังประมวลผล URL ที่ผู้ใช้ส่งเข้ามา ซึ่งต้องถูกทำความสะอาดก่อนใช้งาน
- คุณต้องเข้ารหัสหรือถอดรหัสหลายส่วนของ URL พร้อมกันเป็นชุด
- คุณกำลังสร้างการเปลี่ยนเส้นทางหรือ URL callback ที่ต้องเข้ารหัสพารามิเตอร์อย่างถูกต้อง
ขั้นตอน:
- พิมพ์หรือวางข้อความ/URL ที่คุณต้องการเข้ารหัสหรือถอดรหัส
- เลือกโหมดเข้ารหัสหรือถอดรหัส
- คลิกปุ่มแปลง
- คัดลอกผลลัพธ์เพื่อใช้ในแอปพลิเคชันของคุณ
สูตร
การเข้ารหัส: อักขระที่ไม่ปลอดภัย → % + รหัสฐานสิบหก 2 หลัก ➡ การถอดรหัส: %XX → อักขระต้นฉบับ
กรณีใช้งาน
- สร้างสตริงคิวรีที่ปลอดภัยสำหรับ URL
- ประมวลผลพารามิเตอร์คำขอ API
- แก้ไขจุดบกพร่องของ URL ที่ถูกเข้ารหัส
- สร้าง slug และพาธที่เหมาะกับ URL
ประโยชน์หลัก
- เข้ารหัสและถอดรหัสทันทีพร้อมผลลัพธ์แบบเรียลไทม์
- รองรับทั้งโหมด URL และโหมดส่วนประกอบสำหรับบริบทต่างๆ
- โหมดชุดสำหรับเข้ารหัสหรือถอดรหัสหลายสตริงพร้อมกัน
- จัดการอักขระพิเศษทั้งหมดรวมถึง Unicode และอิโมจิ
- 100% บนเบราว์เซอร์ — ไม่มีการส่งข้อมูลไปยังเซิร์ฟเวอร์
- การนับอักขระแบบภาพเพื่อยืนยันว่าการเข้ารหัสไม่ได้ทำซ้ำหรือตัดทอนอินพุต
เคล็ดลับ
- เข้ารหัสพารามิเตอร์ URL ที่สร้างโดยผู้ใช้เสมอรวมถึงก่อนนำไปใช้ใน URL
- ใช้ encodeURIComponent() ใน JavaScript สำหรับค่าพารามิเตอร์แบบสอบถามแต่ละรายการ
- ถอดรหัส URL ก่อนแสดงให้ผู้ใช้เพื่อความชัดเจน
- ระวังการเข้ารหัสสองครั้ง: หากคุณเห็น %25 ตามด้วยตัวเลขฐานสิบหกเพิ่มเติม URL อาจถูกเข้ารหัสสองครั้ง
- ใช้โหมดคอมโพเนนต์เมื่อสร้างสตริงคำค้นหาและโหมด URL เมื่อเข้ารหัสเส้นทาง URL ทั้งหมดหรือ URL แบบเต็ม
ข้อผิดพลาดที่พบบ่อย
- การเข้ารหัสสองครั้งของ URL โดยการเข้ารหัส URL ที่เข้ารหัสแล้ว แปลง %20 เป็น %2520
- ใช้บริบทการเข้ารหัสผิด — โหมด URL และส่วนประกอบให้ผลลัพธ์ที่แตกต่างกัน
- ลืมว่า + แสดงเพียงช่องว่างในข้อมูล application/x-www-form-urlencoded
- ไม่จัดการอักขระที่ไม่ใช่ ASCII อย่างถูกต้อง — ตรวจสอบให้แน่ใจเสมอว่ามีการเข้ารหัส UTF-8 ก่อนการเข้ารหัสเปอร์เซ็นต์
คำศัพท์สำคัญ
- การเข้ารหัสร้อยละ: กลไกมาตรฐานสำหรับเข้ารหัสอักขระใน URL แทนที่อักขระที่ไม่ปลอดภัยด้วย % ตามด้วยรหัส ASCII ฐานสิบหกสองหลัก
- สตริงแบบสอบถาม: ส่วนของ URL หลังเครื่องหมาย ? ประกอบด้วยคู่คีย์-ค่าคั่นด้วย &
- อักขระที่สงวนไว้: อักขระเช่น :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = มีความหมายทางไวยากรณ์พิเศษใน URL ตาม RFC 3986
- โหมดส่วนประกอบ vs โหมด URL: โหมดส่วนประกอบเข้ารหัสอักขระมากกว่าและสำหรับค่าแต่ละรายการ; โหมด URL รักษาโครงสร้าง URL สำหรับเส้นทางทั้งหมด
แนวคิดที่เกี่ยวข้อง
- การเข้ารหัสแบบเปอร์เซ็นต์: กลไกการแทนที่อักขระที่ไม่ปลอดภัยด้วย % ตามด้วยรหัส ASCII ฐานสิบหกสองหลักเพื่อการส่ง URL อย่างปลอดภัย
- สตริงคิวรี: ส่วนของ URL หลังอักขระ ? ซึ่งประกอบด้วยคู่คีย์-ค่า คั่นด้วยอักขระ &
- อักขระสงวน: อักขระเช่น :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = ที่มีความหมายพิเศษในไวยากรณ์ URL ตาม RFC 3986
- อักขระที่ปลอดภัยสำหรับ URL: อักขระที่ไม่ได้สงวน (ตัวอักษร ตัวเลข -, _, ., ~) ที่ไม่ต้องเข้ารหัสใน URL
- encodeURIComponent เทียบกับ encodeURI: ฟังก์ชัน JavaScript โดย encodeURIComponent เข้ารหัสทุกอย่างยกเว้นตัวอักษร ตัวเลข และ _*-.~ สำหรับค่าแต่ละค่า ในขณะที่ encodeURI รักษาอักขระโครงสร้าง URL สำหรับ URL เต็ม
ตัวอย่าง
การเข้ารหัส "Hello World & Friends!" → "Hello%20World%20%26%20Friends%21" การถอดรหัส "search%3Fq%3Dhello+world" → "search?q=hello world"
การตีความผลลัพธ์
ตัวเข้ารหัสแปลงอักขระ URL ที่ไม่ปลอดภัย (ช่องว่าง & ? # ที่ไม่ใช่ ASCII ฯลฯ) เป็นรูปแบบการเข้ารหัสแบบเปอร์เซ็นต์ โดยแต่ละอักขระกลายเป็น % ตามด้วยรหัสฐานสิบหกสองหลัก ตัวถอดรหัสย้อนกระบวนการนี้ คืนค่าข้อความต้นฉบับที่อ่านได้ จำนวนอักขระช่วยให้คุณตรวจสอบว่าการเข้ารหัสไม่ได้ทำสำเนาซ้ำหรือตัดทอนข้อมูลนำเข้าโดยไม่คาดคิด
โหมดคอมโพเนนต์เข้ารหัสชุดอักขระที่กว้างขึ้นและออกแบบมาสำหรับการเข้ารหัสค่าพารามิเตอร์คิวรีแต่ละค่า โหมด URL เข้มงวดกว่าเกี่ยวกับสิ่งที่ถูกเข้ารหัสและออกแบบมาสำหรับการเข้ารหัสพาธ URL ทั้งหมดหรือ URL เต็ม ใช้โหมดคอมโพเนนต์เมื่อคุณสร้างสตริงคิวรี และโหมด URL เมื่อคุณเข้ารหัส URL ที่สมบูรณ์
โหมดชุดช่วยให้คุณเข้ารหัสหรือถอดรหัสหลายบรรทัดพร้อมกัน ซึ่งมีประโยชน์เมื่อคุณมีรายการ URL หรือพารามิเตอร์ที่ต้องประมวลผล แต่ละบรรทัดถือเป็นข้อมูลนำเข้าแยกกัน และผลลัพธ์ทั้งหมดจะแสดงร่วมกันเพื่อให้คัดลอกได้ง่าย

