ทำไมต้องมี UNICODE ?


อัปเดท : 5 พฤศจิกายน พ.ศ.2546 , แสดง : 53,102 , ความคิดเห็น : 2

ในปัจจุบันมีตัวอักษรให้เลือกใช้อยู่หลายแบบ มี Character set อยู่มากมาย เช่น ตัวอักษรภาษาไทย, ตัวอักษรภาษาญี่ปุ่น ฯลฯ ในอดีตเวลาที่เรา Encode ภาษา ถ้าเป็น ASCII ขนาด 1 byte จะมี 8 bit ซึ่ง ASCII code ก็คือพวกที่เก็บตัวอักษรภาษาอังกฤษตัวเล็ก, ตัวใหญ่, ตัวเลข, เครื่องหมายมากกว่า, น้อยกว่า, ไม่เท่ากับ, full stop, # เป็นต้น ใช้พื้นที่แค่ 7 bit ก็สามารถ Encode ข้อมูลของได้ครบแล้ว 

ส่วน bit ที่ 8 นี่ก็ใส่ 0 ลงไป แต่ในประเทศที่ไม่ได้ใช้ตัวอักษรภาษาอังกฤษในการเขียน ก็อยากจะมีรหัสในการเขียนตัวอักษรเป็นของตัวเองเหมือนกัน ดังนั้นแล้วในการแก้ปัญหา ก็คือ จะเอา bit ที่ 8 มาใช้ เช่น ตั้ง bit ที่ 8 เป็น 1 แล้วก็ Encode ข้างในด้วยรหัสของตัวเอง แต่ต้องเป็นรหัสที่ ASCII code ยังไม่ได้ใช้ เช่น 1000011 เป็น ‘ก’, 1000012 เป็น ‘ข’, 1000013 เป็น ‘ค’ เป็นต้น 

วิธีการเช่นนี้ทำให้เราสามารถเก็บได้ 2 ภาษา แต่ว่าการทำแบบนี้ไม่ international เพราะว่า ภาษาจีนหรือภาษาญี่ปุ่นก็ใช้แบบเดียวกัน ก็เอา bit ที่ 8 มาใช้ เพราะฉะนั้นแล้ว ตัว ‘ก’ ของภาษาไทยก็จะไปมีรหัสเหมือนกับตัวอะไรซักอย่างในภาษาจีน ดังนั้นก็เลยมีปัญหาว่าถ้าเราต้องการทำ international business จริงๆ ควรจะมีรหัสเดียวสำหรับอักษรตัวเดียว และในแต่ละภาษาก็ไม่ควรมีรหัสซ้ำกัน 

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


ผู้เขียน/อ้างอิง : จักรกฤษณ์ แร่ทอง

เวบ/อินเตอร์เน็ตเทคโนโลยี

ความคิดเห็น/แนะนำ/ติชม/อื่นๆ

  • สุบิน [23 Jul 2005 , 06:50 PM]

    บทความ unicode

  • กฤตานน [20 เม.ย. 2554 , 02:31 PM]

    ขอบคุณครับ สำหรับความรู้