Unicode

21 Jun 2016

Share to:

Unicode คือ รหัสข้อมูลทางคอมพิวเตอร์ที่ใช้แทนอักขระ สามารถใช้แทนตัวอักษร ตัวเลข และสัญลักษณ์ต่างๆ ได้มากกว่า ASCII ซึ่งแทนอักขระได้แค่ 256 ตัวเท่านั้น(1Byte) Unicode สามารถใช้แทนตัวอักษร จากภาษาทั้งหมดทั่วโลก 24 ภาษา

Unicode VS ASCII

ความแตกต่างระหว่าง Unicode กับ ASCII คือ Unicode จะใช้ข้อมูล 2 Byte ในการแทนอักขระ 1 ตัว จะแทนอักขระได้ทั้งหมด 2^16 =  65,536 ตัว แต่ ASCII จะใช้ข้อมูล 1 Byte ในการแทนอักขระ 1 ตัว จะแทนอักขระได้ทั้งหมด 2^8 =  256 ตัว ทําให้ Unicode สามารถแทนตัวอักษรได้ทุกภาษาบนโลก

Image

หลักการของ Unicode

หลักการของ Unicode คือ แต่ละตัวอักษรในภาษาต่างๆ จะมีรหัสเฉพาะของตน แต่รูปแบบของรหัสที่ใช้แทนค่าตัวอักษรนั้นมีหลายรูปแบบ เราจะเรียกว่า Unicode transformation format (UTF) การแทนรหัสในแบบที่ง่ายที่สุดคือ การใช้จํานวนบิตคงที่ คือจะใช้จํานวนบิต 32 bit(4 Byte/1 Character)  โดยจะเรียกวิธีการแทนรหัสแบบนี้ว่า UTF-32 แต่การแทนค่าในรูแปบนี้จะทําให้เปลืองเนื้อที่ค่อนมาก แนวคิดการประหยัดพื้นที่การเก็บข้อมูลคือ ไม่จําเป็นต้องแทนรหัสตัวอักษรด้วยจํานวนบิทคงที่ เช่น การแทนรหัสตัวอักษรแบบ UTF-16 และ UTF-8

การแทนรหัสตัวอักษรแบบ UTF-16

UTF-16 จะแทนรหัสตัวอักษรที่ใช้บ่อยๆ ด้วยรหัสขนาด 16 bit(2 Byte) ส่วนอักขระที่ใช้ไม่บ่อยจะแทนด้วยรหัสขนาด 32 bit(2-4 Byte)

การแทนรหัสตัวอักษรแบบ UTF-8

UTF-8 จะแทนรหัสตัวอักษรที่ใช้บ่อยๆ ด้วยรหัสขนาด 8 bit(1 Byte) ส่วนอักขระที่ใช้ไม่บ่อยจะแทนด้วยรหัสขนาด 16 bit หรือ 32 bit (1-4 Byte)

การแทนรหัสแบบ UTF-8 จะใช้รหัสแทนอักขระตัวอักษรภาษาอังกฤษ เหมือนกับ ASCII

การแทนรหัสข้อมูลในรูปแบบต่างๆ สามารถดูได้จาก


Copyright © 2019 - 2024 thiti.dev |  v1.34.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Youtube channel   Telegram   Email contact   วงแหวนเว็บ