เครื่องมือเข้ารหัส / ถอดรหัส URL
เข้ารหัสข้อความเพื่อใช้งานใน URL อย่างปลอดภัย หรือถอดรหัสสตริงที่เข้ารหัสด้วยเปอร์เซ็นต์กลับเป็นข้อความธรรมดา รองรับโหมดมาตรฐาน, ฟอร์ม (+) และ RFC 3986 เต็มรูปแบบ
รูปแบบการเข้ารหัส
ตารางอ้างอิงการเข้ารหัสอักขระพิเศษ
| อักขระ | มาตรฐาน | ฟอร์ม (+) |
|---|---|---|
| (space) | %20 | + |
| & | %26 | %26 |
| = | %3D | %3D |
| + | %2B | %2B |
| / | %2F | %2F |
| ? | %3F | %3F |
| # | %23 | %23 |
| @ | %40 | %40 |
| % | %25 | %25 |
| ! | ! | ! |
* Full RFC 3986 mode only encodes unreserved characters (A–Z, a–z, 0–9, -, _, ., ~).
คํา ถาม ที่ ถาม บ่อย ๆ
การเข้ารหัส URL หรือที่เรียกว่า percent-encoding คือการแปลงอักขระที่ไม่อนุญาตหรือมีความหมายพิเศษใน URL ให้อยู่ในรูปแบบที่ปลอดภัย อักขระที่ไม่ปลอดภัยแต่ละตัวจะถูกแทนที่ด้วยเครื่องหมายเปอร์เซ็นต์ (%) ตามด้วยตัวเลขฐานสิบหกสองตัว เช่น ช่องว่างกลายเป็น %20, เครื่องหมาย & กลายเป็น %26 มาตรฐานนี้กำหนดใน RFC 3986
ทั้ง %20 และ + แทนช่องว่าง แต่อยู่ในมาตรฐานการเข้ารหัสที่ต่างกัน %20 (มาตรฐาน / RFC 3986) คือการเข้ารหัสช่องว่างแบบ universal ที่ปลอดภัยในทุกส่วนของ URL ส่วน + (การเข้ารหัสฟอร์ม / application/x-www-form-urlencoded) คือมาตรฐานการส่งฟอร์ม HTML ใช้ %20 ในพารามิเตอร์ API และใช้การเข้ารหัสฟอร์มเฉพาะสำหรับการส่งฟอร์ม HTML
RFC 3986 กำหนดอักขระที่ไม่ได้สงวนไว้ซึ่งปลอดภัยเสมอโดยไม่ต้องเข้ารหัส ได้แก่ ตัวอักษร A–Z และ a–z, ตัวเลข 0–9, ยัติภังค์ (-), ขีดล่าง (_), จุด (.) และตัวหนอน (~) สิ่งอื่น ๆ ทั้งหมด เช่น ช่องว่าง, &, =, +, /, ?, #, @, %, Unicode ที่ไม่ใช่ ASCII ต้องเข้ารหัสด้วยเปอร์เซ็นต์
การเข้ารหัส URL จำเป็นทุกครั้งที่คุณรวมข้อมูลจากผู้ใช้หรืออักขระพิเศษใน URL หากไม่มีการเข้ารหัส query เช่น ?name=สมชาย & สมหญิง จะทำให้โครงสร้าง URL เสีย ใน REST API พารามิเตอร์ที่เข้ารหัส URL จะช่วยให้คำขอถึงเซิร์ฟเวอร์ได้ครบถ้วน การเข้ารหัส URL ที่ถูกต้องยังสำคัญสำหรับ OAuth token, JWT query parameter และ URL เปลี่ยนเส้นทางที่ส่งเป็นค่า query