การเข้ารหัส URL ทำงานอย่างไร
ที่อยู่เว็บใช้ได้เพียงไม่กี่ตัวอักษร คือตัวอักษรอังกฤษ ตัวเลข และเครื่องหมายบางตัว อย่างอื่นต้องถูกเข้ารหัส ตัว ก ใน UTF-8 มี 3 ไบต์ คือ E0, B8 และ 81 จึงกลายเป็น %E0%B8%81 ช่องว่างกลายเป็น %20 หรือ + ในแบบฟอร์ม
เข้ารหัสแล้ว
%E0%B9%81%E0%B8%A1%E0%B8%A7%E0%B8%81%E0%B8%B4%E0%B8%99%E0%B8%9B%E0%B8%A5%E0%B8%B2
ถอดรหัสแล้ว
แมวกินปลา
รหัส URL ที่พบบ่อย
%E0%B8%81= ก,%E0%B8%82= ข,%E0%B8%A2= ย,%E0%B8%97= ท%E0%B9%80= เ,%E0%B9%81= แ,%E0%B9%84= ไ,%E0%B9%83= ใ%E0%B8%B2= า,%E0%B8%B5= ี,%E0%B9%89= ้,%E0%B9%88= ่%E0%B8%BF= ฿,%20= ช่องว่าง,%2F= /,%3F= ?,%25= %
ตัวอักษรไทยหนึ่งตัวใช้ 3 ไบต์ จึงกลายเป็นรหัส 9 ตัวอักษร คำสั้น ๆ อย่าง ไทย ก็ยาวเป็น %E0%B9%84%E0%B8%97%E0%B8%A2 สังเกตง่าย ๆ คือข้อความภาษาไทยที่เข้ารหัสจะขึ้นต้นด้วย %E0%B8 หรือ %E0%B9 ซ้ำไปเรื่อย ๆ ระบบเก่าเข้ารหัสแบบ TIS-620 ตัวละหนึ่งไบต์ เช่น %C0%D2%C9%D2%E4%B7%C2 คือ ภาษาไทย ซึ่ง Mojibuster ก็แปลงกลับได้เช่นกัน
ข้อความที่เข้ารหัส URL มาจากไหน
- ลิงก์ที่คัดลอก: เบราว์เซอร์แสดง
th.wikipedia.org/wiki/ประเทศไทยอ่านง่าย แต่เมื่อคัดลอกมักได้%E0%B8%9B%E0%B8%A3%E0%B8%B0...ยาวเหยียด - แบบฟอร์มและการติดตาม: คำค้นและพารามิเตอร์ UTM ถูกเก็บเป็นรหัสในล็อกของเซิร์ฟเวอร์และไฟล์ส่งออกจากเครื่องมือวิเคราะห์
- ส่งออกข้อมูลและ API: เครื่องมืออีเมลการตลาด เว็บฮุก และ API บางตัวเก็บค่าที่เข้ารหัสไว้ ในไฟล์ CSV จึงเห็นรหัสแทนชื่อ
- ชื่อไฟล์: ไฟล์ที่ดาวน์โหลดมีชื่อเป็น
%E0%B9%83%E0%B8%9A%E0%B9%80%E0%B8%AA%E0%B8%A3%E0%B9%87%E0%B8%88.pdfเมื่อเซิร์ฟเวอร์ไม่ถอดรหัสชื่อให้
รหัสและตัวอักษรเพี้ยนพร้อมกัน
บางครั้งข้อความเสียสองชั้น เช่น %C3%A0%C2%B8%E2%80%9D%C3%A0%C2%B8%C2%B5 คือ ดี ที่ถูกเข้ารหัส URL หมายถึงคำว่า ดี ที่ถูกอ่านผิดก่อน แล้วจึงถูกเข้ารหัส Mojibuster ถอดรหัสก่อน แล้วซ่อมตัวอักษรเพี้ยน ผลลัพธ์คือ ดี อีกครั้ง ดูเพิ่มเติม: TIS-620 เป็น UTF-8
ตัวเลือก แปลงรหัสด้วย เปิดไว้แล้วในหน้านี้ ตัวเลือกนี้แปลงรหัส HTML (ก) รหัสอีเมล (=E0=B8=81) และอักขระเลี่ยงจากโค้ด (\u0e01) ด้วย ข้อผิดพลาดตัวอักษรแบบอื่น: Mojibake คืออะไร
ถอดรหัสเองใน Excel, JavaScript, Python และ PHP
- Excel: มีเฉพาะฟังก์ชันเข้ารหัส (
ENCODEURLในเวอร์ชันภาษาอังกฤษ) ไม่มีฟังก์ชันถอดรหัส วิธีง่ายที่สุดคือคัดลอกคอลัมน์ วางที่นี่ แล้วคัดลอกผลลัพธ์กลับ ดูเพิ่มเติม Excel ภาษาไทยเพี้ยน - JavaScript:
decodeURIComponent('%E0%B8%94%E0%B8%B5')ได้ดี - Python:
urllib.parse.unquote('%E0%B8%94%E0%B8%B5')หรือunquote_plusสำหรับข้อมูลแบบฟอร์มที่ใช้+แทนช่องว่าง - PHP:
rawurldecode()หรือurldecode()สำหรับข้อมูลแบบฟอร์ม
คำถามที่พบบ่อย
%E0%B8%81 คืออะไร
คือตัว ก ในการเข้ารหัส URL เป็น 3 ไบต์ UTF-8 คือ E0, B8 และ 81 โดยมี % นำหน้าแต่ละไบต์ เช่นเดียวกัน %E0%B8%82 คือ ข
%20 คืออะไร
คือช่องว่าง ในข้อมูลแบบฟอร์มมักใช้ + แทน Mojibuster ปล่อย + ไว้ตามเดิม เพราะในข้อความทั่วไปอาจเป็นเครื่องหมายบวกจริง
ลิงก์ของฉันถูกอัปโหลดไหม
ไม่ การแปลงทำในเบราว์เซอร์ทั้งหมด ลิงก์ที่มีโทเคน อีเมล หรือข้อมูลส่วนตัวไม่ออกจากอุปกรณ์ของคุณ
ทำไม 100% ไม่ถูกเปลี่ยน
Mojibuster แปลงเฉพาะลำดับที่ได้ตัวอักษรพิเศษจริง 100% 50 % หรือ %20 ที่อยู่เดี่ยว ๆ ในข้อความทั่วไปจะไม่ถูกแตะต้อง