ไม่มีการอัปโหลด, 100% ในเครื่อง, ไม่มีบัญชี

ตัวเข้ารหัส / ถอดรหัส URL

เข้ารหัสอักขระพิเศษใน URL หรือถอดรหัสสตริงที่เข้ารหัสด้วยเปอร์เซ็นต์ ทุกอย่างอยู่ในเบราว์เซอร์ของคุณ

ตัวเข้ารหัส / ถอดรหัส URL ทำงานอย่างไร

URL Encoder / Decoder แปลงสตริงเป็นและจาก percent-encoding (เรียกอีกอย่างว่า URL encoding) รูปแบบที่กำหนดโดย RFC 3986 สำหรับการรวมอักขระพิเศษใน URLs อย่างปลอดภัย วางสตริงดิบเพื่อ encode หรือวางสตริงที่ percent-encode แล้วเพื่อถอดรหัสกลับเป็นรูปแบบที่มนุษย์อ่านได้ การแปลงทำงานทั้งหมดในเบราว์เซอร์โดยใช้ encodeURIComponent และ decodeURIComponent ของ JavaScript ไม่มีสิ่งใดที่คุณพิมพ์ออกจากอุปกรณ์

การ encode URL มีความสำคัญทุกครั้งที่คุณสร้าง query parameters, redirect URIs หรือ canonical links แบบโปรแกรม ช่องว่างกลายเป็น %20, ampersand กลายเป็น %26, hash กลายเป็น %23 และเช่นนั้นต่อไป การ encode ยังใช้กับ internationalized domain names และอักขระที่ไม่ใช่ ASCII ใน path segments เครื่องมือนี้ยังเสนอโหมด encodeURI สำหรับการ encode URI เต็มรูปแบบโดยรักษาอักขระโครงสร้างเช่น /, ? และ #

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

  1. วางข้อความที่ต้องการ encode หรือถอดรหัสลงในพื้นที่อินพุต
  2. เลือก Encode เพื่อ percent-encode ข้อความ หรือ Decode เพื่อย้อนกลับการ encode
  3. เลือกโหมด encodeURIComponent สำหรับค่า query-parameter หรือโหมด encodeURI สำหรับ URI เต็มรูปแบบ
  4. คัดลอกผลลัพธ์จากพื้นที่เอาต์พุต

กรณีการใช้งานที่พบบ่อย

  • นักพัฒนาที่สร้าง URL สำหรับ redirect ต้องการ percent-encode query string เพื่อให้อักขระพิเศษไม่ทำให้โครงสร้าง URL เสีย
  • ผู้รวม API ได้รับ callback URL ที่ percent-encode แล้วใน webhook payload และต้องการถอดรหัสเพื่อตรวจสอบที่อยู่เป้าหมาย
  • บรรณาธิการเนื้อหาคัดลอก URL ที่มีอักขระที่มีการเน้นเสียงจากเบราว์เซอร์และต้องการ encode สำหรับใช้ใน Markdown link
  • วิศวกร QA ทดสอบ endpoint การตรวจสอบอินพุตโดย encode อักขระขอบเขตเช่น <, > และ & ก่อนส่ง

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

ความแตกต่างระหว่าง encodeURIComponent และ encodeURI คืออะไร?

encodeURIComponent encode ทุกอย่างยกเว้นตัวอักษร ตัวเลข และอักขระ - _ . ! ~ * ' ( ) ใช้สำหรับ encode components แต่ละอัน เช่น ค่า query parameter encodeURI ทิ้งอักขระโครงสร้าง URI (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) ไว้โดยไม่ encode เนื่องจากถือว่าอินพุตเป็น URI ที่สมบูรณ์ ใช้ encodeURIComponent สำหรับค่า ใช้ encodeURI สำหรับ URLs ทั้งหมด

ข้อความที่ฉันวางที่นี่ถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?

ไม่ การ encode และถอดรหัสเรียกฟังก์ชัน encodeURIComponent และ decodeURIComponent ของ JavaScript ที่ built-in ซึ่งทำงานทั้งหมดใน JavaScript engine ของเบราว์เซอร์ ไม่มีสิ่งใดที่คุณพิมพ์ที่นี่ถูกส่งที่ใด

ทำไมช่องว่างบางครั้งกลายเป็น + แทน %20?

สัญลักษณ์ + สำหรับช่องว่างมาจากรูปแบบ application/x-www-form-urlencoded เก่าที่ใช้ใน HTML form submissions ซึ่งแตกต่างจาก percent-encoding ของ RFC 3986 เครื่องมือนี้ใช้ percent-encoding ของ RFC 3986 อย่างเคร่งครัด ดังนั้นช่องว่างจึงกลายเป็น %20 หากระบบเป้าหมายคาดหวัง + สำหรับช่องว่าง คุณจะต้องแทนที่ %20 ด้วย + ด้วยตนเองหลังการ encode

ฉันสามารถ encode URL เต็มรูปแบบรวม query string ได้พร้อมกันหรือไม่?

ได้ โดยใช้โหมด encodeURI โหมดนั้นรักษา /, ?, =, &, # และอักขระโครงสร้าง URL อื่น ๆ ไว้ขณะ encode อักขระที่ไม่ใช่ ASCII และอักขระที่สงวนที่ปรากฏใน segment หรือค่า parameter ใช้ encodeURIComponent เฉพาะกับค่า parameter แต่ละตัว ไม่ใช่ URL ทั้งหมด

เครื่องมือนี้จัดการอักขระ Unicode และ emoji ได้หรือไม่?

ได้ encodeURIComponent ของ JavaScript แปลงอักขระเป็น byte sequence UTF-8 ก่อน จากนั้น percent-encode แต่ละไบต์ emoji เช่น thumbs up encode เป็น multi-byte sequence เช่น %F0%9F%91%8D การถอดรหัสย้อนกระบวนการได้อย่างถูกต้อง