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 สามารถแทนตัวอักษรได้ทุกภาษาบนโลก
หลักการของ 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
การแทนรหัสข้อมูลในรูปแบบต่างๆ สามารถดูได้จาก