%20 · %C3%A9 · encodeURIComponent
ตัวเข้ารหัสและถอดรหัส URL
การเข้ารหัส URL แทนอักขระที่ไม่ปลอดภัยด้วย % และเลขฐานสิบหกสองหลัก: ช่องว่างกลายเป็น %20 และ é กลายเป็น %C3%A9 เลือกเข้ารหัส ถอดรหัส หรือแยกส่วน แล้วพิมพ์หรือวางข้อความของคุณ
- a b&c=d → a%20b%26c%3Dd
- é → %C3%A9
- € → %E2%82%AC
- 😀 → %F0%9F%98%80
ทุกอย่างทำงานในแท็บนี้และไม่มีการอัปโหลดใด ๆ ข้อความที่ไม่ใช่ ASCII จะถูกแปลงเป็น UTF-8 ก่อนใส่ escape
Scanned by NortonTM Safe Web
ภาพรวมโดยสรุป
- ราคา
- ไม่มีค่าใช้จ่าย
- บัญชี
- ไม่ต้องมี
- มาตรฐาน
- RFC 3986 (URI), WHATWG URL Standard
- โหมด
- เข้ารหัส ถอดรหัส และแยกส่วน
- ชุดอักขระ
- UTF-8
- การอัปโหลด
- ไม่มี — ข้อความอยู่ในแท็บเบราว์เซอร์ของคุณ
Percent-encoding ของอักขระที่พบบ่อย
แต่ละเซลล์สร้างจากตัวเข้ารหัสและถอดรหัสในหน้านี้ สัญลักษณ์ ␣ แทนช่องว่าง
| อักขระ | encodeURIComponent | encodeURI | ฟอร์ม (+ แทนช่องว่าง) |
|---|---|---|---|
| ␣ | %20 | %20 | + |
| ! | ! | ! | %21 |
| " | %22 | %22 | %22 |
| # | %23 | # | %23 |
| $ | %24 | $ | %24 |
| % | %25 | %25 | %25 |
| & | %26 | & | %26 |
| ' | ' | ' | %27 |
| ( | ( | ( | %28 |
| ) | ) | ) | %29 |
| * | * | * | * |
| + | %2B | + | %2B |
| , | %2C | , | %2C |
| / | %2F | / | %2F |
| : | %3A | : | %3A |
| ; | %3B | ; | %3B |
| = | %3D | = | %3D |
| ? | %3F | ? | %3F |
| @ | %40 | @ | %40 |
| [ | %5B | %5B | %5B |
| ] | %5D | %5D | %5D |
| ~ | ~ | ~ | %7E |
| é | %C3%A9 | %C3%A9 | %C3%A9 |
| € | %E2%82%AC | %E2%82%AC | %E2%82%AC |
| 😀 | %F0%9F%98%80 | %F0%9F%98%80 | %F0%9F%98%80 |
| Escape | decodeURIComponent | decodeURI | ฟอร์ม |
|---|---|---|---|
| %2F | / | %2F | / |
| %3F | ? | %3F | ? |
| %23 | # | %23 | # |
| %20 | ␣ | ␣ | ␣ |
| %2B | + | %2B | + |
| %41 | A | A | A |
วิธีเข้ารหัสหรือถอดรหัส URL
เลือกโหมด
เลือกเข้ารหัสเพื่อใส่ escape ให้ข้อความ ถอดรหัสเพื่ออ่านข้อความที่มี escape หรือแยกส่วนเพื่อแยก URL ทั้งเส้นเป็นโปรโตคอล โฮสต์ พาธ query และ fragment
เลือกวิธี
สำหรับค่าเดียว เช่น พารามิเตอร์ใน query ให้ใช้วิธีแบบส่วนประกอบ สำหรับที่อยู่ที่สมบูรณ์ ให้ใช้วิธีแบบ URL ทั้งเส้น และใช้วิธีแบบฟอร์มสำหรับข้อมูลที่ส่งจากฟอร์ม HTML
วางแล้วคัดลอก
พิมพ์หรือวางข้อความของคุณ ผลลัพธ์จะอัปเดตขณะที่คุณพิมพ์และมีปุ่มคัดลอก ลำดับ % ที่ผิดจะถูกรายงานพร้อมตำแหน่ง
Percent-encoding ทำงานอย่างไร
Percent-encoding (RFC 3986) เขียนไบต์เป็น % ตามด้วยเลขฐานสิบหกสองหลัก ข้อความจะถูกแปลงเป็น UTF-8 ก่อน ดังนั้น é เป็น 2 ไบต์ (%C3%A9), € เป็น 3 ไบต์ (%E2%82%AC) และ 😀 เป็น 4 ไบต์ (%F0%9F%98%80) ตัวอักษร ตัวเลข และ - _ . ~ ไม่ต้องเข้ารหัสเลย อักขระสงวนอย่าง / ? # & = + และ : มีหน้าที่ใน URL ดังนั้นจะเข้ารหัสหรือไม่ขึ้นอยู่กับว่าข้อความจะไปที่ใด
encodeURIComponent ใช้กับส่วนเดียวของ URL เช่น ค่าใน query: เข้ารหัส / ? # & = + และ : ส่วน encodeURI ใช้กับ URL ทั้งเส้น: ปล่อยอักขระเหล่านั้นไว้เพื่อให้ที่อยู่คงโครงสร้าง การเข้ารหัสแบบฟอร์ม (application/x-www-form-urlencoded) เขียนช่องว่างเป็น + แทน %20 และเข้ารหัส ~ และ ! ' ( ) ด้วย การถอดรหัสจะปฏิเสธ % ที่ไม่มีเลขฐานสิบหกสองหลักตามหลังและรายงานตำแหน่ง
คำถามเกี่ยวกับการเข้ารหัส URL
encodeURI กับ encodeURIComponent ต่างกันอย่างไร
encodeURIComponent เข้ารหัสทุกอย่างยกเว้นตัวอักษร ตัวเลข และ - _ . ! ~ * ' ( ) จึงเข้ารหัส / ? # & = + และ : ด้วย ส่วน encodeURI เก็บอักขระเหล่านั้นไว้เพื่อให้ URL ทั้งเส้นยังใช้งานได้ ใช้วิธีแบบส่วนประกอบกับค่า เช่น a/b กลายเป็น a%2Fb และใช้ encodeURI กับที่อยู่เต็ม
ทำไมช่องว่างจึงเป็น %20 ในที่หนึ่งและเป็น + ในอีกที่
%20 คือ percent-encoding ของช่องว่างและใช้ได้ทุกที่ใน URL ส่วน + แทนช่องว่างใช้กับการเข้ารหัสแบบฟอร์มเท่านั้น (application/x-www-form-urlencoded) ซึ่งเป็นรูปแบบของ query string ที่ส่งจากฟอร์ม HTML เครื่องหมายบวกจริงคือ %2B ในทั้งสองแบบ
เข้ารหัสอักขระ Unicode ใน URL ได้อย่างไร
แปลงข้อความเป็น UTF-8 แล้วเขียนแต่ละไบต์เป็น %XX é ได้ %C3%A9, € ได้ %E2%82%AC และ 😀 ได้ %F0%9F%98%80 หน้านี้ทำให้ในทุกวิธีเข้ารหัส
อักขระใดต้องเข้ารหัสใน URL
ช่องว่าง เครื่องหมายคำพูดคู่ < และ > และอักขระที่ไม่ใช่ ASCII ทั้งหมดต้องเข้ารหัสเสมอ ตัวอักษร ตัวเลข และ - _ . ~ ไม่ต้องเข้ารหัสเลย อักขระสงวนอย่าง ? และ & จะเข้ารหัสเฉพาะเมื่อเป็นข้อมูลและไม่ใช่ส่วนหนึ่งของโครงสร้าง URL
ทำไมการถอดรหัสจึงรายงานลำดับ percent ที่ไม่ถูกต้อง
% ต้องตามด้วยเลขฐานสิบหกสองหลัก 100% ไม่ผ่านเพราะไม่มีอะไรตามหลัง % และ ab%zz ก็เช่นกัน หน้านี้รายงานตำแหน่งของ % ที่ผิด ไบต์ที่ใส่ escape แล้วแต่ไม่เป็น UTF-8 ที่ถูกต้อง เช่น %FF ก็จะถูกรายงานด้วย
หน้านี้แยก URL เป็นส่วน ๆ ได้ไหม
ได้ โหมดแยกส่วนใช้ตัวแยก URL ของเบราว์เซอร์เพื่อแสดงโปรโตคอล ชื่อผู้ใช้ โฮสต์ พอร์ต พาธ query และ fragment และแสดงพารามิเตอร์ใน query แต่ละตัวพร้อมค่าที่ถอดรหัสแล้ว รหัสผ่านใน URL จะรายงานว่ามีอยู่และไม่แสดงออกมา