Encoding Unicode

Encoding Unicode เป็นมาตรฐานการเข้ารหัสอักขระแบบหนึ่ง ที่กลายเป็นมาตรฐานโดยพฤตินัยสำหรับการแสดงข้อความในระบบคอมพิวเตอร์และการสื่อสาร ได้รับการออกแบบมาเพื่อแสดงอักขระและสัญลักษณ์จากภาษาต่าง ๆ ทั่วโลก มีความครอบคลุมและหลากหลายมากกว่ามาตรฐาน ASCII ดั้งเดิม ปัจจุบันหน่วยงานที่รับผิดชอบดูแลมาตรฐานคือ Unicode Consortium องค์กรไม่แสวงหากำไร

แม้ว่า ASCII ยังคงมีความสำคัญในการประมวลผลบางอย่าง แต่ Unicode ได้เข้ามาแทนที่เป็นมาตรฐานสำหรับการแสดงข้อความในระบบคอมพิวเตอร์สมัยใหม่ เนื่องจากความสามารถในการแสดงอักขระที่หลากหลายจากทั่วทุกมุมโลก เวอร์ชันล่าสุด ณ เดือนกันยายน 2564) มีอักขระมากกว่า 143,000 อักขระจาก 150 ภาษา รวมทั้งสัญลักษณ์และอิโมจิอีกมากมาย

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

สารบัญเนื้อหา

Encoding Unicode

ตัวอักขระในมาตรฐาน Unicode จะกำหนดค่า code point เป็นเลขฐานสิบหก (hexadecimal) ซึ่งเป็นตัวเลขอัตลักษณ์ (identifier) ไม่ซ้ำกันระหว่างตัวอักขระ มีค่าได้ตั้งแต่ 0 ถึง 0x10FFFF

ถ้าจะถามว่ามันรองรับได้เยอะขนาดไหน คำนวณคร่าว ๆ น่าจะประมาณ 1.1 ล้าน รหัส ซึ่งยังคงรองรับการกำหนดอักขระ สัญลักษณ์ อิโมจิ ได้อีกมาก ปัจจุบันใช้ไปประมาณ 143,000 เท่านั้น คิดคร่าว ๆ ประมาณ 14 เปอร์เซ็นต์ ยังมีที่ว่างเหลือเฟือฟาย

ตัวอย่างเช่น code point Unicode สำหรับตัวอักษร “A” คือ U+0041

นอกจากนี้ ยังมีการเข้ารหัสหลายแบบ เช่น UTF-7, UTF-8 UTF-16, และ UTF-32 ซึ่งใช้จำนวนไบต์ที่แตกต่างกันในการแสดงอักขระ คือ 7, 8, 16, and 32 ไบต์

Unicode vs ASCII

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

code point ของ Unicode 128 ตัวแรก เหมือนกับอักขระ ASCII ซึ่งหมายความว่าอักขระ ASCII ใดๆ สามารถแสดงใน Unicode โดยใช้ code point เดียวกับใน ASCII ด้วยค่าไบนารีเดียวกัน จะเรียกว่า ASCII เป็น subset ของ Unicode หรือ Unicode เป็น superset ของ ASCII ก็ได้

สิ่งนี้ก็เพื่อจะได้มีความเข้ากันได้โดย ASCII จะแสดงโดยใช้ 1 ไบต์ใน UTF-8 และข้อมูลที่เข้ารหัส ASCII ใด ๆ ก็สามารถอ่านและเขียนโดยใช้ UTF-8 ได้โดยไม่สูญเสียข้อมูลใด ๆ

ดังนั้น แม้ว่า Unicode และ ASCII จะเป็นมาตรฐานการเข้ารหัสอักขระที่แตกต่างกัน แต่ก็มีความเชื่อมโยงระหว่างกันอย่างมาก และ ASCII ก็ยังคงเป็นส่วนสำคัญของมาตรฐาน Unicode

ตาราง Unicode ดูได้จาก https://en.wikipedia.org/wiki/List_of_Unicode_characters

Unicode ภาษาไทย

ความคิดเห็น