เลือกภาษา

เครื่องมือเข้ารหัส URL

แปลงข้อความเป็นรูปแบบ URL ที่ปลอดภัย รองรับโหมด Component และ Full URI พร้อมตัวเลือกเปลี่ยนช่องว่างเป็นเครื่องหมายบวก คัดลอกและดาวน์โหลดผลลัพธ์ได้ทันที

Mehmet Demiray (เมห์เมต เดมิเรย์) เผยแพร่ อัปเดตล่าสุด
แชร์
แบบส่วนประกอบจะเข้ารหัสอักขระพิเศษทั้งหมด; แบบเต็มจะคงโครงสร้างของ URL ไว้

ทำไมเราถึงต้องเข้ารหัส URL

โครงสร้างของอินเทอร์เน็ตถูกกำหนดให้ส่งข้อมูลที่อยู่เว็บผ่านชุดตัวอักษร ASCII พื้นฐานเท่านั้น หากคุณมีตัวอักษรที่อยู่นอกเหนือจากชุดนี้ เช่น ภาษาไทย ภาษาญี่ปุ่น หรือตัวอักษรพิเศษต่างๆ เบราว์เซอร์และเซิร์ฟเวอร์จะไม่สามารถประมวลผลได้อย่างถูกต้อง มาตรฐานอินเทอร์เน็ต RFC 3,986 ได้แบ่งตัวอักษรออกเป็นสองกลุ่มหลักคือตัวอักษรที่สงวนไว้และตัวอักษรที่ไม่สงวนไว้ ตัวอักษรที่สงวนไว้เช่นเครื่องหมายทับ เครื่องหมายคำถาม และเครื่องหมายและ มีหน้าที่เฉพาะในการแบ่งโครงสร้างของที่อยู่เว็บ หากคุณต้องการใช้ตัวอักษรเหล่านี้เป็นส่วนหนึ่งของข้อมูลจริง คุณจำเป็นต้องใช้เครื่องมือเข้ารหัส URL เพื่อแปลงตัวอักษรเหล่านั้นให้อยู่ในรูปแบบเปอร์เซ็นต์ กระบวนการนี้จะเปลี่ยนตัวอักษรที่ไม่ปลอดภัยให้กลายเป็นชุดรหัสที่ขึ้นต้นด้วยเครื่องหมายเปอร์เซ็นต์ตามด้วยตัวเลขฐานสิบหก เพื่อป้องกันไม่ให้เบราว์เซอร์สับสนกับโครงสร้างหลักของเว็บไซต์ หากในอนาคตต้องการแปลงข้อมูลเหล่านี้กลับมาเป็นข้อความปกติ คุณสามารถใช้เครื่องมือถอดรหัสเพื่อดึงข้อความดั้งเดิมกลับมาได้ทันที

ความแตกต่างระหว่างโหมด Component และ Full URL

เมื่อใช้งานเครื่องมือเข้ารหัส URL คุณจะพบกับโหมดการทำงานสองรูปแบบหลัก ได้แก่ โหมด Component และโหมด Full URL ซึ่งมีความแตกต่างกันอย่างชัดเจน โหมด Component จะทำการแปลงตัวอักษรพิเศษทุกตัวรวมถึงตัวอักษรที่สงวนไว้ทั้งหมด โหมดนี้เหมาะสำหรับการเข้ารหัสข้อมูลเฉพาะจุด เช่น ค่าของพารามิเตอร์ในชุดข้อมูลที่ส่งท้ายที่อยู่เว็บ โหมด Full URL จะละเว้นการแปลงตัวอักษรที่ใช้กำหนดโครงสร้างพื้นฐานของลิงก์ เช่น โปรโตคอลและเครื่องหมายทับแบ่งโฟลเดอร์ โหมดนี้มีไว้สำหรับตรวจสอบและแปลงทั้งลิงก์ให้ปลอดภัยโดยที่ลิงก์นั้นยังสามารถคลิกเพื่อนำทางไปได้ตามปกติ การเลือกโหมดที่ผิดอาจทำให้ลิงก์ใช้งานไม่ได้อย่างสิ้นเชิง ตัวอย่างเช่น การส่งที่อยู่เว็บซ้อนเข้าไปในพารามิเตอร์ หากคุณไม่ใช้โหมด Component เครื่องหมายและของลิงก์ด้านในจะไปตัดตอนการทำงานของลิงก์หลัก ทำให้เซิร์ฟเวอร์ปลายทางได้รับข้อมูลไม่ครบถ้วน

การจัดการช่องว่าง: %20 หรือเครื่องหมายบวก (+)

การจัดการช่องว่างในที่อยู่เว็บมีประวัติศาสตร์ที่น่าสนใจและมักทำให้ผู้พัฒนาเว็บไซต์สับสนอยู่เสมอ โดยปกติแล้วช่องว่างจะถูกแปลงเป็นรหัส %20 ตามมาตรฐานสากล แต่ในบริบทของการส่งข้อมูลผ่านแบบฟอร์มบนเว็บไซต์ ช่องว่างมักจะถูกแปลงเป็นเครื่องหมายบวกแทน เครื่องมือเข้ารหัส URL มีตัวเลือกให้คุณกำหนดได้อย่างอิสระว่าจะแปลงช่องว่างเป็นรหัส %20 หรือเครื่องหมายบวก หากคุณกำลังสร้างลิงก์สำหรับหน้าเว็บทั่วไป การตั้งชื่อไฟล์ภาพ หรือการสร้างเส้นทางในระบบไฟล์ การใช้รหัส %20 เป็นวิธีที่ปลอดภัยที่สุดและได้รับการรองรับจากเบราว์เซอร์ทุกประเภท แต่หากคุณกำลังสร้างชุดข้อมูลสำหรับแคมเปญการตลาด การส่งค่าตัวแปรเข้าสู่ระบบฐานข้อมูล หรือการเชื่อมต่อกับระบบรุ่นเก่า การเลือกใช้เครื่องหมายบวกอาจทำงานร่วมกับระบบปลายทางได้ดีกว่าและตรงตามมาตรฐานของแบบฟอร์มดั้งเดิมมากกว่า

การทำงานกับภาษาไทยและ Unicode ใน URL

ภาษาไทยและอีโมจิต่างๆ ไม่ได้อยู่ในชุดตัวอักษร ASCII พื้นฐาน เมื่อคุณนำข้อความเหล่านี้มาเข้าสู่กระบวนการของเครื่องมือเข้ารหัส URL ระบบจะใช้มาตรฐาน UTF-8 ในการแปลงข้อมูล ตัวอักษรภาษาไทยหนึ่งตัวจะถูกแปลงเป็นชุดรหัสจำนวน 3 ไบต์ ตัวอย่างเช่นพยัญชนะไทย ก ไก่ จะถูกแปลงเป็นรหัส %E0%B8%81 เรียงต่อกัน กระบวนการนี้มีความสำคัญอย่างมากสำหรับนักการตลาดดิจิทัลในประเทศไทยที่ต้องสร้างลิงก์ติดตามผลโฆษณาด้วยภาษาไทย การปล่อยให้เบราว์เซอร์แปลงภาษาไทยด้วยตัวเองอาจทำให้ลิงก์แตก แสดงผลผิดพลาด หรือสูญเสียข้อมูลเมื่อนำไปแชร์บนแอปพลิเคชันสนทนาและโซเชียลมีเดีย การเตรียมความพร้อมของข้อมูลให้เรียบร้อยก่อนนำไปใช้งาน หรือก่อนที่จะนำข้อมูลไปสร้างคิวอาร์โค้ด จะช่วยให้ผู้ใช้งานสามารถสแกนและเข้าถึงหน้าเว็บของคุณได้อย่างแม่นยำโดยไม่มีข้อผิดพลาดทางเทคนิคมากวนใจ

คำถามที่พบบ่อยเกี่ยวกับการจัดการลิงก์

นักพัฒนาและผู้ใช้งานทั่วไปมักมีคำถามเมื่อต้องจัดการกับโครงสร้างของที่อยู่เว็บ ปัญหาที่พบบ่อยที่สุดคือทำไมเครื่องหมายและถึงทำให้ข้อมูลในชุดพารามิเตอร์ขาดหาย สาเหตุหลักคือเครื่องหมายดังกล่าวทำหน้าที่เป็นตัวแบ่งพารามิเตอร์แต่ละตัวออกจากกัน หากคุณมีข้อมูลที่มีเครื่องหมายนี้ผสมอยู่ คุณต้องใช้เครื่องมือเข้ารหัส URL เพื่อแปลงให้กลายเป็นรหัสในโหมด Component มิฉะนั้นระบบจะมองว่าข้อความด้านหลังเป็นพารามิเตอร์ตัวใหม่ทันที หลายคนมักสับสนกระบวนการนี้กับการเข้ารหัส Base64 ซึ่งแท้จริงแล้วมีความแตกต่างกันอย่างสิ้นเชิง การแปลงข้อมูลที่อยู่เว็บมีจุดประสงค์เพียงเพื่อรักษาโครงสร้างของลิงก์ให้ปลอดภัยและส่งผ่านโปรโตคอลได้อย่างถูกต้อง ในขณะที่เทคนิคแบบหลังใช้สำหรับแปลงไฟล์รูปภาพหรือข้อมูลคอมพิวเตอร์ระดับลึกให้กลายเป็นข้อความยาวๆ เพื่อแนบไปกับเอกสารอื่น

คำถามที่เราตอบบ่อยที่สุด

Percent encoding หรือการเข้ารหัสแบบเปอร์เซ็นต์คืออะไร

เป็นกลไกการแปลงตัวอักษรที่ไม่สามารถใช้งานได้โดยตรงใน URL เช่น ภาษาไทย สัญลักษณ์พิเศษ หรือช่องว่าง ให้อยู่ในรูปแบบที่เบราว์เซอร์และเซิร์ฟเวอร์เข้าใจได้ โดยจะแปลงเป็นเครื่องหมาย % ตามด้วยรหัสเลขฐานสิบหก 2 หลัก เช่น ช่องว่างจะถูกแปลงเป็น %20

ถ้าต้องการเข้ารหัสค่าพารามิเตอร์ใน Query String ควรเลือกโหมดไหน

ควรเลือกโหมด Component ซึ่งเทียบเท่ากับคำสั่ง encodeURIComponent ใน JavaScript โหมดนี้จะเข้ารหัสสัญลักษณ์พิเศษทั้งหมดรวมถึง & = ? และ / เพื่อไม่ให้เซิร์ฟเวอร์สับสนกับโครงสร้างหลักของ URL หากคุณต้องการแปลงกลับในภายหลัง สามารถใช้เครื่องมือ ถอดรหัส URL ได้เสมอ

ทำไมใส่เครื่องหมาย & ในลิงก์แล้วทำให้ข้อมูล Query String พัง

เครื่องหมาย & ถูกสงวนไว้ใช้สำหรับแยกพารามิเตอร์แต่ละตัวใน URL หากคุณพิมพ์ & ลงไปในค่าของข้อมูลโดยตรง เซิร์ฟเวอร์จะเข้าใจผิดว่านั่นคือการเริ่มต้นพารามิเตอร์ตัวใหม่ คุณจึงต้องใช้เครื่องมือเข้ารหัส URL เพื่อแปลง & ให้เป็น %26 เสียก่อน

เครื่องมือนี้รองรับการเข้ารหัสภาษาไทยและอีโมจิหรือไม่

รองรับอย่างสมบูรณ์แบบ ตัวอักษรภาษาไทยและอีโมจิจะถูกแปลงตามมาตรฐาน UTF-8 ซึ่งจะใช้รหัสหลายไบต์ประกอบกัน เช่น ตัวอักษร ก จะกลายเป็น %E0%B8%81 ทำให้คุณสามารถนำไปสร้างลิงก์หรือสร้าง คิวอาร์โค้ดสำหรับ URL ได้อย่างปลอดภัยและไม่แสดงผลผิดเพี้ยน

ควรเลือกแปลงช่องว่างเป็นเครื่องหมายบวกหรือ %20 ดี

หากคุณกำลังเข้ารหัสข้อมูลเพื่อส่งผ่านฟอร์มแบบ application/x-www-form-urlencoded การแปลงช่องว่างเป็นเครื่องหมาย + คือรูปแบบที่ถูกต้องตามมาตรฐานดั้งเดิม แต่สำหรับการใช้งานในส่วนอื่นๆ ของ URL เช่น ชื่อไฟล์หรือ Path ทั่วไป แนะนำให้ใช้ %20 เพื่อความเข้ากันได้กับทุกระบบ

การเข้ารหัส URL ต่างจากการเข้ารหัส Base64 อย่างไร

การเข้ารหัส URL ออกแบบมาเพื่อให้ข้อความปลอดภัยสำหรับการส่งข้อมูลผ่านลิงก์เว็บ โดยยังคงอ่านตัวอักษรภาษาอังกฤษและตัวเลขออก ส่วนการ เข้ารหัส Base64 จะแปลงข้อมูลทั้งหมดให้เป็นข้อความที่มนุษย์อ่านไม่ออกเลย ซึ่งมักใช้สำหรับฝังข้อมูลไฟล์รูปลงในโค้ด HTML หรือส่งข้อมูลผ่าน JSON มากกว่า