Output
ประวัติ (เฉพาะเซสชันนี้)
บันทึกเมื่อกด Encode/Decode · คลิกรายการเพื่อนำกลับมาใช้
แปลง percent encoding (%20, %3D) แบบเรียลไทม์ รองรับ URL ทั้งสตริงและค่า query
บันทึกเมื่อกด Encode/Decode · คลิกรายการเพื่อนำกลับมาใช้
URL encoding หรือ Percent encoding คือการแปลงอักขระพิเศษใน URL เป็นรูปแบบ % ตามด้วย hex code เพื่อให้ URL ถูกต้องตามมาตรฐาน RFC 3986 จำเป็นเพราะ URL อนุญาตเฉพาะตัวอักษร A-Z, a-z, 0-9 และอักขระ - _ . ~ เท่านั้นตัวอักษรอื่นรวมถึงภาษาไทยและอักขระพิเศษต้องถูก encode ก่อนใช้งานใน URL เพื่อให้ server ตีความได้ถูกต้อง
%20 คือ space (ช่องว่าง) ในรูปแบบ percent encoding เพราะ space มี ASCII code 0x20, %2F คือ forward slash (/), %3D คือ equals sign (=), %26 คือ ampersand (&) และ %3F คือ question mark (?) อักขระเหล่านี้มีความหมายพิเศษใน URL จึงต้องถูก encode เมื่อใช้เป็นส่วนหนึ่งของ parameter value เครื่องมือนี้ช่วยdecode URL encoded stringกลับเป็นข้อความที่อ่านได้ทันที
JavaScript มีฟังก์ชัน built-in 2 แบบ ได้แก่ encodeURI() สำหรับ encode URL ทั้ง string จะไม่ encode อักขระพิเศษที่เป็นส่วนหนึ่งของ URL เช่น /, ?, #, & และ encodeURIComponent() สำหรับ encode query parameter value จะ encode อักขระพิเศษเกือบทั้งหมด ตัวอย่าง: encodeURIComponent('สวัสดี') จะได้ %E0%B8%AA%E0%B8%A7%E0%B8%B1%E0%B8%AA%E0%B8%94%E0%B8%B5
encodeURI() ออกแบบมาสำหรับ encode URL ทั้งเส้น จึงไม่ encode อักขระที่จำเป็นต่อโครงสร้าง URL เช่น : / ? # [ ] @ ! $ & ' ( ) * + , ; = ส่วน encodeURIComponent() ออกแบบมาสำหรับ encode ค่าของ query parameter จะ encode อักขระเหล่านั้นด้วยเพราะถือว่าเป็นส่วนหนึ่งของค่า กฎง่าย ๆ คือใช้ encodeURIComponent เมื่อ encode ค่าใน form หรือ query string และใช้ encodeURI เมื่อต้องการ encode URL ทั้ง string