วิธีใช้งาน
- เลือก «เข้ารหัส» หรือ «ถอดรหัส»
- เลือกโหมด — «คอมโพเนนต์» สำหรับค่าพารามิเตอร์เดียว «URL เต็ม» เพื่อรักษาโครงสร้าง URL หรือ «ฟอร์ม» สำหรับข้อมูลฟอร์ม HTML ที่ช่องว่างกลายเป็น +
- วางข้อความของคุณ ผลลัพธ์จะอัปเดตขณะที่คุณพิมพ์
- หากอินพุตเป็น URL พรอโตคอล โฮสต์ เส้นทาง และพารามิเตอร์คิวรี จะแสดงรายการด้านล่าง
คำอธิบายตัวเลือก
- คอมโพเนนต์
- เข้ารหัสทุกอย่างยกเว้นตัวอักษร ตัวเลข และ - _ . ~ — ใช้สำหรับค่าพารามิเตอร์คิวรี หรือส่วนเส้นทาง ตรงกับ encodeURIComponent บวก ! ' ( ) * ที่ RFC 3986 สงวนไว้
- URL เต็ม
- ปล่อยให้อักขระที่ให้โครงสร้าง URL (: / ? # & =) อยู่ทีเดียว และเข้ารหัสช่องว่างและอักขระที่ไม่ใช่ ASCII ตรงกับ encodeURI ของ JavaScript
- ฟอร์ม
- application/x-www-form-urlencoded ใช้โดยฟอร์ม HTML ช่องว่างกลายเป็น + แทน %20 เมื่อถอดรหัส + จะถูกเปลี่ยนกลับเป็นช่องว่าง
ตัวอย่าง
| อินพุต | คอมโพเนนต์ | URL เต็ม | ฟอร์ม |
|---|---|---|---|
a b&c |
a%20b%26c |
a%20b&c |
a+b%26c |
café |
caf%C3%A9 |
caf%C3%A9 |
caf%C3%A9 |
https://x.com/?q=1 2 |
https%3A%2F%2Fx.com%2F%3Fq%3D1%202 |
https://x.com/?q=1%202 |
https%3A%2F%2Fx.com%2F%3Fq%3D1+2 |
สร้าง URL ด้วยพารามิเตอร์
เมื่อคุณใส่ข้อมูลผู้ใช้ลงในสตริงคิวรี ให้เข้ารหัสแต่ละค่าแยกกัน:
const url = `https://example.com/search?q=${encodeURIComponent(query)}&page=2`;
การเข้ารหัส URL ทั้งหมดที่ส่วนท้ายจะปล่อยให้ & และ = ภายในค่าไม่ถูกเข้ารหัส และทำให้พารามิเตอร์หัก
คำถามที่พบบ่อย
อะไรคือความแตกต่างระหว่าง %20 และ +?
ทั้งสองสามารถแทนช่องว่างได้ แต่ในสถานที่ต่างกัน %20 ใช้ได้ทุกที่ใน URL + หมายถึงช่องว่างเฉพาะในสตริงคิวรีของการส่งฟอร์ม ในเส้นทาง + เป็นเครื่องหมายบวกที่ตัวจริง
ทำไมข้อความของฉันถูกเข้ารหัสสองครั้ง (%2520)?
มันถูกเข้ารหัสสองครั้ง — % ของ %20 เข้ารหัสเป็น %25 เอง ถอดรหัสมันสองครั้ง และในโค้ดของคุณให้แน่ใจว่ามีเพียงชั้นเดียวเท่านั้นที่เข้ารหัสค่า
ฉันควรใช้ encodeURI กับ encodeURIComponent เมื่อไร?
ใช้ encodeURIComponent («คอมโพเนนต์» โหมด) สำหรับค่าพารามิเตอร์แต่ละค่าที่คุณแทรกลง URL ใช้ encodeURI («URL เต็ม») เฉพาะสำหรับ URL ที่สมบูรณ์ซึ่งอาจมีช่องว่างหรืออักขระที่ไม่ใช่ ASCII
«การเข้ารหัสเปอร์เซ็นต์ผิดรูปแบบ» หมายความว่าอย่างไร?
% ไม่ตามด้วยเลขฐานสิบหก 2 หลัก หรือไบต์ไม่เป็น UTF-8 ที่ถูกต้อง ข้อผิดพลาดแสดงตำแหน่งของลำดับที่ผิดแรก
ตัวอักษรจีนเข้ารหัสใน URL อย่างไร?
แต่ละอักขระจะแปลงเป็นไบต์ UTF-8 และแต่ละไบต์เขียนเป็น %XX ดังนั้น 中 กลายเป็น %E4%B8%AD
ความเป็นส่วนตัว
เครื่องมือนี้ทำงานในเบราว์เซอร์ของคุณทั้งหมด ไฟล์และข้อความของคุณได้รับการประมวลผลบนอุปกรณ์ของคุณ และจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา