ข้ามไปยังเนื้อหาหลัก
FreeOnlineTools Go
ไทย
วิธี

วิธีเข้ารหัสและถอดรหัส URL: คู่มือฉบับสมบูรณ์

โดย FreeOnlineTools Team · อัปเดตเมื่อ 2026-08-28

ตอบด่วน

URL encoding แปลงอักขระ unsafe เป็น %XX โดย XX คือค่า hex ของ byte ช่องว่างเป็น %20 (หรือ + ใน form data) อักขระจีนเป็น multi-byte %XX ใช้ URL Encoder และ URL Decoder ฟรีของเรา —การประมวลผลในเบราว์เซอร์

การแนะนำ

URL encoding (percent-encoding) เป็นกลไกเข้ารหัสอักขระ reserved และ unsafe ใน URL เพื่อส่งผ่านอินเทอร์เน็ตได้ปลอดภัย URL มี ASCII จำกัด; อักขระอื่น (ช่องว่าง, ไม่ใช่ ASCII) ต้อง percent-encode เป็น % ตามด้วยเลข hex สองหลัก

ทีละขั้นตอน

  1. ระบุสิ่งที่จำเป็นต้องเข้ารหัส

    อักขระที่ไม่ได้อยู่ในชุดที่ไม่ได้สงวนไว้ (A-Z, a-z, 0-9, -, ., _, ~) จะต้องเข้ารหัสเป็นเปอร์เซ็นต์ ซึ่งรวมถึงการเว้นวรรค ตัวคั่นคิวรี เช่น = และ & เครื่องหมายทับ และอักขระที่ไม่ใช่ ASCII ทั้งหมด เช่น จีน อารบิก หรืออีโมจิ

  2. เข้ารหัส URL หรือสตริงการสืบค้น

    วางข้อความของคุณลงในเครื่องมือเข้ารหัส URL ใช้ encodeURIComponent() เพื่อเข้ารหัสทุกอักขระที่สงวนไว้ ผลลัพธ์จะปรากฏขึ้นทันทีในช่องผลลัพธ์

  3. คัดลอกผลลัพธ์ที่เข้ารหัส

    คลิกปุ่มคัดลอกเพื่อคัดลอกสตริงที่เข้ารหัสเป็นเปอร์เซ็นต์ ตอนนี้คุณสามารถฝังไว้อย่างปลอดภัยในพารามิเตอร์การสืบค้น URL คำขอ API หรือการส่งแบบฟอร์ม

  4. ถอดรหัส URL ที่เข้ารหัส

    วาง URL ที่เข้ารหัสหรือสตริงการสืบค้นลงในเครื่องมือถอดรหัส URL ใช้ decodeURIComponent() เพื่อกู้คืนอักขระดั้งเดิม ตรวจสอบว่าเอาต์พุตที่ถอดรหัสตรงกับที่คุณคาดหวัง

  5. ตรวจสอบกรณีขอบ

    ตรวจสอบว่ามีการถอดรหัสช่องว่างอย่างถูกต้อง (%20 เทียบกับ +) ลำดับ UTF-8 แบบหลายไบต์ถอดรหัสเป็นอักขระที่ถูกต้อง และสตริงที่เข้ารหัสแล้วไม่ได้เข้ารหัสซ้ำ

ตัวอย่าง

เข้ารหัสข้อความด้วยการเว้นวรรค

ป้อนข้อมูล: Hello World

เอาท์พุต: Hello%20World

เข้ารหัสตัวคั่นเส้นทาง

ป้อนข้อมูล: a/b

เอาท์พุต: a%2Fb

เข้ารหัสตัวอักษรจีน (UTF-8)

ป้อนข้อมูล: 你好

เอาท์พุต: %E4%BD%A0%E5%A5%BD

ถอดรหัสพารามิเตอร์การค้นหาที่เข้ารหัส

ป้อนข้อมูล: key%3Dvalue%26foo%3Dbar

เอาท์พุต: key=value&foo=bar

ปัญหาทั่วไป

  • การเข้ารหัสสองครั้ง: การเข้ารหัสสตริงที่เข้ารหัสแล้วจะเปลี่ยน %20 เป็น %2520 ตรวจสอบเสมอว่าอินพุตได้รับการเข้ารหัสแล้วก่อนที่จะเข้ารหัสอีกครั้ง
  • encodeURI ที่สับสนกับ encodeURIComponent: encodeURI จะเก็บอักขระที่สงวนไว้ เช่น /, ?, & ไม่เสียหายสำหรับ URLs แบบเต็ม ในขณะที่ encodeURIComponent จะเข้ารหัสทุกอย่างสำหรับค่าพารามิเตอร์การค้นหา
  • การจัดการพื้นที่: %20 คือรูปแบบที่เข้ารหัสเปอร์เซ็นต์ + ใช้ได้เฉพาะในข้อมูลเนื้อหา application/x-www-form-urlencoded เท่านั้น ไม่ใช่ในพาธ URL หรือสตริงการสืบค้นต่อ RFC 3986
  • การเข้ารหัสแบบเดิมที่ไม่ใช่ UTF-8: เบราว์เซอร์สมัยใหม่เข้ารหัสเป็น UTF-8 แต่ระบบเดิมอาจใช้ GBK หรือ Latin-1 ทำให้เกิด mojibake เมื่อถอดรหัสที่อีกด้านหนึ่ง

เคล็ดลับ

  • ใช้ encodeURIComponent() สำหรับค่าพารามิเตอร์การค้นหาแต่ละรายการ และใช้ encodeURI() สำหรับ URLs ทั้งหมดที่มีรูปแบบถูกต้องแล้ว
  • เมื่อสร้างสตริงข้อความค้นหา ให้เข้ารหัสค่าแต่ไม่ใช่ตัวคั่น = หรือ & — เข้ารหัสแต่ละค่าแยกกัน จากนั้นรวมเข้ากับ &
  • ใช้เครื่องมือเข้ารหัสและถอดรหัส URL ของเราเพื่อแก้ไขข้อบกพร่องการเรียก API ที่ส่งคืนข้อผิดพลาด 400 รายการเนื่องจากสตริงการสืบค้นมีรูปแบบไม่ถูกต้อง
  • ถอดรหัสทางฝั่งเซิร์ฟเวอร์โดยใช้การเข้ารหัสอักขระเดียวกัน (UTF-8) เสมอเพื่อหลีกเลี่ยงการโมจิเบค

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

คำแนะนำที่เกี่ยวข้อง

อ้างอิง