🔧Toolify

URL Encoder/Decoder (percent-encoding)

ใช้เพื่อฝังข้อความอย่างปลอดภัยใน URLs พารามิเตอร์การค้นหา หรือข้อมูลฟอร์ม จัดการช่องว่าง อักขระพิเศษ และ Unicode (รวม CJK และ emoji) อย่างถูกต้อง

ผลลัพธ์ที่เข้ารหัส
 

วิธีการทำงาน

URL encoding คืออะไร

URLs ถูกจำกัดในชุดอักขระ ASCII ขนาดเล็ก เพื่อรวมสิ่งอื่น — ช่องว่าง การเน้น อักขระจีน emoji สัญลักษณ์พิเศษ — คุณแทนที่ byte ที่ไม่ปลอดภัยแต่ละ byte ด้วย %XX โดย XX คือค่า byte เลขฐานสิบหก ช่องว่างกลายเป็น %20 เครื่องหมายทับ %2F อักษรไทย 'ก' กลายเป็น %E0%B8%81 (byte UTF-8 ของมันถูก percent-encoded)

เครื่องคำนวณนี้ใช้ encodeURIComponent และ decodeURIComponent ที่มีในเบราว์เซอร์ มันเข้ารหัสทุกอย่างที่ไม่ใช่อักขระที่ไม่สงวน (ตัวอักษร ตัวเลข -._~) ซึ่งเป็นพฤติกรรมที่ถูกต้องสำหรับพารามิเตอร์การค้นหาและข้อมูลฟอร์ม

encodeURI เทียบกับ encodeURIComponent

JavaScript มีตัวเข้ารหัสสองตัว encodeURI ทิ้งอักขระโครงสร้าง URL (/ ? & # = + ฯลฯ) ไว้ตามลำพัง — ใช้บน URL เต็ม encodeURIComponent หลีกเลี่ยงพวกนั้นทั้งหมด — ใช้กับค่าภายในพารามิเตอร์การค้นหา

เครื่องมือนี้ใช้ encodeURIComponent การเลือกที่ปลอดภัยกว่าสำหรับการฝังข้อความตามอำเภอใจใน URL หากคุณมี URL เต็มพร้อมโครงสร้างที่คุณต้องการรักษา เข้ารหัสเฉพาะส่วนที่ต้องการ

ข้อผิดพลาดทั่วไป

เครื่องหมายบวกใน URLs เซิร์ฟเวอร์บางตัวปฏิบัติต่อ '+' เป็นช่องว่าง (มรดกจากการเข้ารหัสฟอร์ม) encodeURIComponent ทิ้ง '+' ไว้ตามลำพัง แต่เซิร์ฟเวอร์อาจถอดรหัสเป็นช่องว่าง เพื่อความปลอดภัย แทนที่ '+' ด้วย %2B หากคุณกำลังส่งเป็นข้อมูล

การเข้ารหัสซ้อน การเข้ารหัสสตริงที่เข้ารหัสแล้วเพิ่มอีกชั้น (% กลายเป็น %25 ดังนั้น '%20' กลายเป็น '%2520') ตรวจสอบเสมอว่าอินพุตเข้ารหัสแล้วก่อนเรียกใช้การเข้ารหัสอีกครั้ง

ความยาวเพิ่มขึ้น อักขระ UTF-8 หลาย byte ขยายเป็น 3-4 percent-codes แต่ละตัว สตริงไทย 100 อักขระสามารถกลายเป็น URL 300+ อักขระได้อย่างง่ายดาย

คำถามที่พบบ่อย

ทำไม '%20' ของฉันไม่ถอดรหัสเป็นช่องว่าง?

ควร — แต่หากคุณมี '+' ใน URL อาจแทนช่องว่างด้วย (การเข้ารหัสฟอร์มดั้งเดิม) แทนที่ + ด้วยช่องว่างก่อนหากจำเป็น

นี่จัดการ emoji หรือไม่?

ใช่ Emoji ถูกเข้ารหัสเป็นลำดับ byte UTF-8 (โดยทั่วไป 4 byte / 4 percent-codes ต่อ emoji)

ความแตกต่างระหว่างการเข้ารหัส URL และการเข้ารหัส HTML คืออะไร?

การเข้ารหัส URL ใช้สัญกรณ์ % สำหรับบริบท URL การเข้ารหัส HTML ใช้ < > ฯลฯ สำหรับ HTML บริบทต่างกัน กฎต่างกัน

เมื่อใดควรเข้ารหัสและเมื่อใดไม่?

เข้ารหัสค่าใดๆ ที่เข้าไปในพารามิเตอร์การค้นหา URL ส่วนของ path ที่มีอินพุตผู้ใช้ หรือข้อมูลฟอร์ม อย่าเข้ารหัส URL ที่สร้างแล้ว — นั่นเข้ารหัสซ้อน

ทำไม '%' ในข้อความที่ถอดรหัสของฉันทำให้เกิดข้อผิดพลาด?

'%' เปลือยตามด้วยสิ่งที่ไม่ใช่ hex ที่ถูกต้องเป็น percent-encoding ที่ไม่ถูกต้อง เข้ารหัส '%' เป็น '%25' ก่อนรวมใน URL

เบราว์เซอร์ทำสิ่งนี้อัตโนมัติหรือไม่?

ใช่ — เมื่อสร้าง URLs ผ่าน URL หรือ URLSearchParams APIs เครื่องมือนี้เปิดเผยตรรกะเดียวกันสำหรับการใช้งานเฉพาะกิจ

อักขระใด 'ปลอดภัย' และไม่ต้องการการเข้ารหัส?

ตัวอักษร (A-Z, a-z) ตัวเลข (0-9) และเหล่านี้: - . _ ~ ทุกอย่างอื่นถูก percent-encoded โดย encodeURIComponent

ข้อมูลออกจากเบราว์เซอร์หรือไม่?

ไม่ การเข้ารหัสและการถอดรหัสทั้งคู่ทำงานในเครื่อง

เครื่องมือที่เกี่ยวข้อง

อัปเดตล่าสุด:

ลองพรอมต์ AI ของเรา →