รู้จัก HTML URL Encoding
เชื่อว่าหลาย ๆ คน คงเคยประสบปัญหาที่กำลังจะนำเสนอต่อไปนี้ นั่นคือเวลาที่ต้องการคัดลอก (Copy) URL Link หรือที่อยู่ของเว็บไซต์ในช่อง Address bar ที่มีภาษาไทยผสมอยู่ เมื่อนำมาวาง (Past) ในพื้นที่ของข้อความที่ต้องการแสดงผล ข้อความที่ปรากฏจะกลายเป็นอักขระตัวอักษรที่อ่านไม่เป็นคำที่ประกอบด้วยตัวอักษรภาอังกฤษ ตัวเลข สัญลักษณ์ หรือที่เรามักเรียกกันว่าภาษาต่างดาวนั่นเอง ดังนี้ “97%E0%B8%A2” ซึ่งจริง ๆ ลักษณะแบบที่กล่าวมานี้ เราเรียกว่า เอนโค้ดดิ้ง (encoding) และ ดีโค้ดดิ้ง (decoding) สำหรับบทความนี้เราจะมาทำความเข้าใจกันว่า ทั้งสองคำนี้มีการทำงานอย่างไร และแน่นอนที่สุด มีวิธีการแก้ปัญหานี้มาฝากให้อ่านกันด้วย
ภาพที่ 1 ตัวอย่างหน้าจอสำหรับเข้าหน้าเว็บไซต์
ที่มา https://pixabay.com/ , JuralMin
เรามาดูตัวอย่างกันก่อน สมมติว่าลองเข้าเว็บไซต์วิกิพีเดีย ในช่องค้นหาให้ค้นหาคำว่า “วิทยาศาสตร์” ซึ่งจะปรากฏชื่อที่อยู่ของเว็บไซต์ในช่อง Address bar ดังรูป
ภาพที่ 2 ตัวอย่าง การเข้าเว็บไซต์วิกิพีเดีย ในช่องค้นหาให้ค้นหาคำว่า “วิทยาศาสตร์”
ที่มา ณัฐดนัย เนียมทอง
ให้ลองคัดลอกที่อยู่ลิงก์ดังกล่าวแล้วไปวางบนพื้นที่แสดงข้อความที่ไหนก็ได้ จะปรากฏข้อความความที่อยู่ลิงค์ดังกล่าวถูกแปลงไปเป็นข้อความแบบนี้ https://th.wikipedia.org/wiki/%E0%B8%A7%E0%B8%B4%E0%B8%97%E0%B8%A2%E0%B8%B2%E0%B8%A8%E0%B8%B2%E0%B8%AA%E0%B8%95%E0%B8%A3%E0%B9%8C
ซึ่งจะเห็นว่าในส่วนของข้อความที่เป็นภาษาไทยคำว่า “วิทยาศาสตร์” ถูกเปลี่ยนแปลงไป นั่นก็เพราะ URL ถูกแปลงให้อยู่ในรูปของ URL encoding เอาไว้นั่นเอง โดยเป็นการแทนอักขระด้วยรหัสต่าง ๆ ซึ่งเราสามารถ ดูรายละเอียดการแทนรหัสต่าง ๆ นี้ในข้อมูล HTML URL encoding reference ได้เลย
ดังนั้น เวลาที่เราจะนำที่อยู่ลิงค์ดังกล่าวไปใช้งาน หรือไปวางเป็นข้อมูลจริง ๆ เราต้องทำการแปลงกลับข้อมูลนั้นก่อน ซึ่งเราเรียกว่า decode ในขั้นตอนการแปลงข้อมูลนี้เราสามารใช้เครื่องมือออนไลน์เข้ามาช่วยได้ ยกตัวอย่างเช่น เว็บไซต์ https://meyerweb.com/eric/tools/dencoder/ ที่ให้บริการแปลงข้อมูลดังล่าวผ่านทางเว็บไซต์ โดยเมื่อเรานำที่อยู่ของเว็บไซต์ที่ผ่านการ decode เอาไว้ มาวางในพื้นที่ดังรูป
ภาพที่ 3 การทำ Encode
ที่มา ณัฐดนัย เนียมทอง
หลังจากนั้นให้คลิกปุ่ม Decode ระบบก็จะแปลงกลับไปเป็น URL Link หรือที่อยู่ของเว็บไซต์ที่มีภาษาไทยอยู่ดังรูป
ภาพที่ 4 การทำ Decode
ที่มา ณัฐดนัย เนียมทอง
นี่เป็นตัวอย่างเพียงเว็บไซต์หนึ่งเท่านั้น ยังมีเว็บไซต์อื่น ๆ อีกที่ยังให้บริการแปลงข้อมูลดังกล่าว เช่น
- https://www.url-encode-decode.com/
- http://www.convertstring.com/th/EncodeDecode/UrlDecode
- http://www.mindphp.com/tools/dencoder/index.php?utm_medium=mindphp.com+-+Content&
แต่ทั้งนี้ผู้เขียนยังมีเทคนิคง่าย ๆ โดยไม่ต้องเข้าไปเว็บไซต์ต่าง ๆ ให้ยุ่งยาก แค่เพียงเคาะ Spacebar 1 ครั้ง หน้า URL Link หรือที่อยู่ของเว็บไซต์ที่ต้องการแปลงข้อมูล จากนั้นก็คัดลอกข้อความตามปกติก็สามารถทำได้อย่างง่าย ๆ เช่นเดียวกัน
ทีนี้เรามาทำความรู้จักกับ encoding (เอนโค้ดดิ้ง) และ decoding (ดีโค้ดดิ้ง) กันดีกว่า ว่ามันคืออะไร
ในทางศาสตร์ของคอมพิวเตอร์และเทคโนโลยีนั้น encoding เป็นกระบวนการวางลำดับของตัวอักษร ตัวอักษร ตัวเลข เครื่องหมาย และสัญลักษณ์ เข้าสู่ฟอร์แมตพิเศษสำหรับการส่งผ่านที่มีประสิทธิภาพหรือจัดเก็บ decoding เป็นกระบวนการตรงข้าม การแปลงของรูปแบบ encode กลับไปยังลำดับดั้งเดิมของตัวอักษร encoding และ decoding ได้รับการใช้ใน การสื่อสารข้อมูล เครือข่าย และการจัดเก็บ คำนี้เป็นการประยุกต์เฉพาะกับระบบสื่อสารทางวิทยุ ซึ่งสรุปได้ว่า" Encoding คือ การเปลี่ยนข้อมูลข่าวสารไปเป็นสัญญาณ" " Decoding คือ การเปลี่ยนสัญญาณไปเป็นข้อมูลข่าวสาร"
เป็นอย่างไรกันบ้าง ก็เป็นอีกหนึ่งความรู้และเทคนิคดี ๆ ที่นำไปใช้และบอกต่อกันได้เลย
แหล่งที่มา
encoding เอนโค้ดดิ้ง และ decoding ดีโค้ดดิ้ง คืออะไร. สืบค้นเมื่อ 15 พฤษภาคม 2561. จาก www.mindphp.com/คู่มือ/73-คืออะไร/3648-encoding-เอนโค้ดดิ้ง-และ-decoding-ดีโค้ดดิ้ง-คืออะไร.html
URL คืออะไร ยูอาร์เเอล คือ ที่อยู่ของไฟล์หรือเว็บไซต์บนอินเตอร์เน็ต. สืบค้นเมื่อ 15 พฤษภาคม 2561. จาก www.mindphp.com/คู่มือ/73-คืออะไร/3648-encoding-เอนโค้ดดิ้ง-และ-decoding-ดีโค้ดดิ้ง-คืออะไร.html
-
8491 รู้จัก HTML URL Encoding /index.php/article-technology/item/8491-html-url-encodingเพิ่มในรายการโปรด