ข้ามไปที่เนื้อหา

%20 · %C3%A9 · encodeURIComponent

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

การเข้ารหัส URL แทนอักขระที่ไม่ปลอดภัยด้วย % และเลขฐานสิบหกสองหลัก: ช่องว่างกลายเป็น %20 และ é กลายเป็น %C3%A9 เลือกเข้ารหัส ถอดรหัส หรือแยกส่วน แล้วพิมพ์หรือวางข้อความของคุณ

ทุกอย่างทำงานในแท็บนี้และไม่มีการอัปโหลดใด ๆ ข้อความที่ไม่ใช่ ASCII จะถูกแปลงเป็น UTF-8 ก่อนใส่ escape

Scanned by NortonTM Safe Web

ภาพรวมโดยสรุป

ราคา
ไม่มีค่าใช้จ่าย
บัญชี
ไม่ต้องมี
มาตรฐาน
RFC 3986 (URI), WHATWG URL Standard
โหมด
เข้ารหัส ถอดรหัส และแยกส่วน
ชุดอักขระ
UTF-8
การอัปโหลด
ไม่มี — ข้อความอยู่ในแท็บเบราว์เซอร์ของคุณ

Percent-encoding ของอักขระที่พบบ่อย

แต่ละเซลล์สร้างจากตัวเข้ารหัสและถอดรหัสในหน้านี้ สัญลักษณ์ ␣ แทนช่องว่าง

การเข้ารหัสอักขระตัวเดียว
อักขระencodeURIComponentencodeURIฟอร์ม (+ แทนช่องว่าง)
␣%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 ตัวเดียว
EscapedecodeURIComponentdecodeURIฟอร์ม
%2F/%2F/
%3F?%3F?
%23#%23#
%20␣␣␣
%2B+%2B+
%41AAA

วิธีเข้ารหัสหรือถอดรหัส URL

1

เลือกโหมด

เลือกเข้ารหัสเพื่อใส่ escape ให้ข้อความ ถอดรหัสเพื่ออ่านข้อความที่มี escape หรือแยกส่วนเพื่อแยก URL ทั้งเส้นเป็นโปรโตคอล โฮสต์ พาธ query และ fragment

2

เลือกวิธี

สำหรับค่าเดียว เช่น พารามิเตอร์ใน query ให้ใช้วิธีแบบส่วนประกอบ สำหรับที่อยู่ที่สมบูรณ์ ให้ใช้วิธีแบบ URL ทั้งเส้น และใช้วิธีแบบฟอร์มสำหรับข้อมูลที่ส่งจากฟอร์ม HTML

3

วางแล้วคัดลอก

พิมพ์หรือวางข้อความของคุณ ผลลัพธ์จะอัปเดตขณะที่คุณพิมพ์และมีปุ่มคัดลอก ลำดับ % ที่ผิดจะถูกรายงานพร้อมตำแหน่ง

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 จะรายงานว่ามีอยู่และไม่แสดงออกมา