ข้ามไปยังเนื้อหา

เข้ารหัสและถอดรหัส URL

เข้ารหัสหรือถอดรหัส URL ค่าใน query และข้อมูลฟอร์มแบบ percent-encoding รองรับ UTF-8 พร้อมแสดงพารามิเตอร์ทุกตัวที่ถอดรหัสแล้ว ทำงานในเบราว์เซอร์ของคุณทั้งหมด

คุณกำลังเข้ารหัสอะไร

encodeURIComponent: เข้ารหัสทุกอย่างยกเว้นตัวอักษร ตัวเลข และ - _ . ! ~ * ' ( ) ใช้กับค่าพารามิเตอร์หนึ่งค่า

เข้ารหัสแบบ Percent
ผลลัพธ์จะแสดงที่นี่ขณะที่คุณพิมพ์
ทำงานในเบราว์เซอร์ของคุณ · ไม่ต้องอัปโหลดวิธีการทำงาน

วิธีใช้งาน เข้ารหัส/ถอดรหัส URL

  1. 1

    เลือกเข้ารหัสหรือถอดรหัส

    เข้ารหัสจะเปลี่ยนช่องว่างและอักขระพิเศษเป็น %XX ส่วนถอดรหัสจะเปลี่ยน %XX กลับเป็นข้อความที่อ่านได้

  2. 2

    เลือกสิ่งที่จะเข้ารหัส

    ค่า Query สำหรับพารามิเตอร์เดียว URL ทั้งหมดสำหรับที่อยู่แบบเต็ม หรือข้อมูลฟอร์มเมื่อต้องการให้ช่องว่างกลายเป็น +

  3. 3

    วางข้อความหรือลิงก์

    ผลลัพธ์อัปเดตขณะพิมพ์ และหากเป็น URL เต็มจะมีรายละเอียดของแต่ละส่วนและพารามิเตอร์แสดงให้ด้วย

  4. 4

    คัดลอกผลลัพธ์

    คัดลอก บันทึกเป็นไฟล์ หรือกดใช้ผลลัพธ์เป็นอินพุตเพื่อตรวจสอบว่าแปลงกลับได้ตรงกัน

ข้อจำกัดและ Pro

ใช้ฟรี ไม่ต้องสมัครสมาชิก และไม่จำกัดความยาวของข้อความที่วาง ผลลัพธ์ที่ยาวเกิน 600,000 ตัวอักษรจะแสดงบางส่วน แต่คัดลอกหรือบันทึกได้ครบทั้งหมด

Pro ช่วยลบโฆษณา ส่วนตัวแปลงเหมือนกันทุกแผน ดู Pro

เกี่ยวกับ เข้ารหัส/ถอดรหัส URL

URL รองรับเฉพาะอักขระ ASCII ชุดจำกัด ดังนั้นอักขระอื่นทั้งหมด เช่น ช่องว่าง ตัวอักษรมีเครื่องหมายกำกับ อีโมจิ และสัญลักษณ์สงวนที่ใช้เป็นข้อมูล ต้องเขียนเป็น % ตามด้วยเลขฐานสิบหกสองหลักสำหรับแต่ละไบต์ของ UTF-8 หน้านี้แปลงได้ทั้งสองทิศทางและแสดงให้เห็นชัดว่าอะไรเปลี่ยนไปบ้าง

มีสามโหมดที่ตรงกับสามจุดที่การเข้ารหัสเกิดขึ้นจริง โหมดค่า Query ทำงานเหมือน encodeURIComponent ของ JavaScript เหมาะกับพารามิเตอร์เดียว ส่วนหนึ่งของพาธ หรือปลายทางรีไดเรกต์ที่ฝังอยู่ใน URL อื่น โหมด URL ทั้งหมดทำงานเหมือน encodeURI คือไม่แตะต้อง scheme เครื่องหมายทับ เครื่องหมายคำถาม แอมเปอร์แซนด์ และเครื่องหมายเท่ากับ และเข้ารหัสเฉพาะส่วนที่ทำให้ที่อยู่เสียหาย โหมดข้อมูลฟอร์มเป็นไปตาม application/x-www-form-urlencoded ซึ่งช่องว่างจะกลายเป็นเครื่องหมายบวก เหมือนในฟอร์ม HTML และ URLSearchParams

วางลิงก์แบบเต็ม แผงรายละเอียดจะแสดง Scheme โฮสต์ พอร์ต พาธ และ Fragment พร้อมตารางพารามิเตอร์ Query ทุกตัวและค่าที่ถอดรหัสแล้ว ช่วยให้อ่านลิงก์ติดตาม OAuth callback และ URL ที่มีลายเซ็นได้ง่าย การถอดรหัสจะหยุดเมื่อพบข้อมูลที่ไม่ถูกต้องและบอกตำแหน่ง เช่น % ที่ไม่มีเลขฐานสิบหกสองหลักตามหลัง หรือลำดับไบต์ที่ไม่ใช่ UTF-8 ที่ถูกต้อง ซึ่งมักหมายความว่าระบบรุ่นเก่าเข้ารหัสข้อความเป็น Latin-1

Percent-encoding ไม่ใช่การเข้ารหัสลับและไม่ได้ทำให้ลิงก์สั้นลง หากต้องการย่อลิงก์ให้ใช้ตัวย่อลิงก์ ส่วนการแปลง Base64 และ HTML entity อยู่ในอีกสองแท็บ

ความเป็นส่วนตัว

การเข้ารหัสและถอดรหัส URL และข้อความเกิดขึ้นในหน้านี้เอง ลิงก์ที่มีโทเค็น อีเมล หรือรหัสเซสชันจึงไม่ถูกส่งไปที่ใดเลย โหมดที่เลือกจะถูกเก็บไว้ใน local storage เพื่อใช้ครั้งต่อไป แต่สิ่งที่คุณวางจะไม่ถูกเก็บ

เข้ารหัส/ถอดรหัส URL: คำถามที่พบบ่อย

ควรใช้ encodeURI หรือ encodeURIComponent?
ใช้ encodeURIComponent ซึ่งคือโหมดค่า Query ที่นี่ กับทุกอย่างที่แทรกลงใน URL เช่น คำค้นหา ค่าพารามิเตอร์ หรือ URL รีไดเรกต์ที่ซ้อนอยู่ เพราะจะเข้ารหัส & = ? / จึงไม่ถูกเข้าใจผิดว่าเป็นโครงสร้าง ใช้ encodeURI หรือโหมด URL ทั้งหมดเฉพาะกับที่อยู่แบบเต็มที่มีโครงสร้างถูกต้องอยู่แล้ว และเพียงต้องแก้ช่องว่างหรืออักขระที่ไม่ใช่ ASCII
ทำไมช่องว่างบางครั้งเป็น %20 และบางครั้งเป็น +?
Percent-encoding ตามมาตรฐานของ URL เขียนช่องว่างเป็น %20 ส่วนฟอร์ม HTML ใช้รูปแบบเก่ากว่าคือ application/x-www-form-urlencoded ซึ่งช่องว่างเป็น + และเครื่องหมายบวกจริงเป็น %2B ทั้งสองแบบพบได้บ่อยใน query string หากถอดรหัสค่าที่ส่งมาจากฟอร์มให้เลือกโหมดข้อมูลฟอร์ม ไม่เช่นนั้น + จะยังคงเป็นเครื่องหมายบวก
ข้อความ “not valid UTF-8” ตอนถอดรหัสหมายถึงอะไร?
URL สมัยใหม่เข้ารหัสแต่ละอักขระเป็นไบต์ UTF-8 เช่น é คือ %C3%A9 แต่ระบบรุ่นเก่าบางระบบใช้ Latin-1 ซึ่ง é เป็นไบต์เดียวคือ %E9 และลำดับนี้ไม่ใช่ UTF-8 ที่ถูกต้อง ข้อผิดพลาดจะบอกตำแหน่งที่พบ ให้เข้ารหัสต้นฉบับใหม่เป็น UTF-8 หรือแก้ลำดับแบบ Latin-1 ด้วยตัวเองหากมีผลกับอักขระเพียงไม่กี่ตัว
ดูพารามิเตอร์ของลิงก์ติดตามที่ยาวได้หรือไม่?
ได้ วางลิงก์เต็มที่ขึ้นต้นด้วย https:// แผงรายละเอียดจะปรากฏใต้ผลลัพธ์ โดยแสดงโฮสต์ พาธ และ Fragment พร้อมพารามิเตอร์ Query แต่ละตัวและค่าที่ถอดรหัสแล้ว รวมถึงคีย์ที่ซ้ำกัน ทำให้แท็ก UTM ค่า state ของ OAuth และ URL รีไดเรกต์ที่ซ้อนกันอ่านได้ทันที โดยไม่ต้องถอดรหัสทีละตัว
การเข้ารหัส URL สองครั้งทำให้เกิดปัญหาหรือไม่?
มีปัญหา การเข้ารหัสซ้ำเป็นข้อผิดพลาดที่พบบ่อย เพราะ % จากรอบแรกจะกลายเป็น %25 ทำให้ %20 กลายเป็น %2520 และเซิร์ฟเวอร์ได้รับค่าผิด หากถอดรหัสหนึ่งครั้งแล้วยังเหลือ %XX แสดงว่าข้อความถูกเข้ารหัสสองครั้ง ให้กดใช้ผลลัพธ์เป็นอินพุตแล้วถอดรหัสอีกครั้งเพื่อกู้ข้อความเดิม

งานอื่น ๆ ที่ใช้เครื่องมือนี้ได้

เครื่องมือสำหรับนักพัฒนา ทั้งหมด