รหัส ASCII และ รหัส Unicode
รหัส ASCII
ASCII
ASCII
เดิมการแทนรหัสฐานสองด้วยพยัญชนะในภาษา ต่างๆเป็นการกำหนดกันเอง
ขึ้นอยู่กับว่า
ใครพัฒนาขึ้นมาทำให้การส่งผ่านข้อมูลระหว่างเครื่องคอมพิวเตอร์ต่างชนิดไม่
สามารถส่งผ่านกัน ได้เพราะใช้รหัสในเลขฐานสองไม่เหมือนกัน
ดังนั้นเพื่อที่จะให้สื่อสารกันได้ จึงจำเป็นต้องมีการ กำหนดมาตรฐานของรหัสขึ้น
สำหรับภาษาอังกฤษ เรียกว่า รหัสแอสกี้ (American Standard
Code Interchange,ASCII)
Code Interchange,ASCII)
รหัสที่เป็นมาตรฐาน คือ รหัส ASCII
American Standard Code For Information Interchange (ASCII) อ่านว่า แอส-กี้ เป็นรหัสที่พัฒนาขึ้นโดยสถาบันมาตรฐานแห่งชาติสหรัฐอเมริกา (American National Standard Institute: ANSI อ่านว่า แอน-ซาย) เรียกว่า ASCII Code ซึ่งเป็นที่นิยมในกลุ่มผู้สร้างเครื่องคอมพิวเตอร์ทั่วไป รหัสนี้ได้มาจากรหัสขององค์กรมาตรฐานระหว่างประเทศ (International Standardization Organization: ISO) ขนาด 7 บิท ซึ่งสามารถสร้างรหัสที่แตกต่างกันได้ถึง 128 รหัส (ตั้งแต่ 000 0000 ถึง 111 1111) โดยกำหนดให้ 32 รหัสแรกเป็น 000 0000 ถึง 001 1111 ทำหน้าที่เป็นสั่งควบคุม เช่น รหัส 000 1010 แทนการเลื่อนบรรทัด (Line Feed)ในเครื่องพิมพ์ เป็นต้น และอีก 96รหัสถัดไป (32-95) ใช้แทนอักษรและสัญลักษณ์พิเศษอื่นรหัส ASCII ใช้วิธีการกำหนดการแทนรหัสเป็นเลขฐานสิบ ทำให้ง่ายต่อการจำและใช้งาน นอกจากนั้นยังสามารถเขียนมนรูปของเลขฐานสิบหกได้ด้วย
American Standard Code For Information Interchange (ASCII) อ่านว่า แอส-กี้ เป็นรหัสที่พัฒนาขึ้นโดยสถาบันมาตรฐานแห่งชาติสหรัฐอเมริกา (American National Standard Institute: ANSI อ่านว่า แอน-ซาย) เรียกว่า ASCII Code ซึ่งเป็นที่นิยมในกลุ่มผู้สร้างเครื่องคอมพิวเตอร์ทั่วไป รหัสนี้ได้มาจากรหัสขององค์กรมาตรฐานระหว่างประเทศ (International Standardization Organization: ISO) ขนาด 7 บิท ซึ่งสามารถสร้างรหัสที่แตกต่างกันได้ถึง 128 รหัส (ตั้งแต่ 000 0000 ถึง 111 1111) โดยกำหนดให้ 32 รหัสแรกเป็น 000 0000 ถึง 001 1111 ทำหน้าที่เป็นสั่งควบคุม เช่น รหัส 000 1010 แทนการเลื่อนบรรทัด (Line Feed)ในเครื่องพิมพ์ เป็นต้น และอีก 96รหัสถัดไป (32-95) ใช้แทนอักษรและสัญลักษณ์พิเศษอื่นรหัส ASCII ใช้วิธีการกำหนดการแทนรหัสเป็นเลขฐานสิบ ทำให้ง่ายต่อการจำและใช้งาน นอกจากนั้นยังสามารถเขียนมนรูปของเลขฐานสิบหกได้ด้วย
Unicode คือ
Unicode กำหนดหมายเลขเฉพาะสำหรับทุกอักขระโดยไม่สนใจว่าเป็นแพล็ตฟอร์มใด
ไม่ขึ้นกับว่าจะเป็นโปรแกรมใดและไม่ว่าจะเป็นภาษาใด
ไม่ขึ้นกับว่าจะเป็นโปรแกรมใดและไม่ว่าจะเป็นภาษาใด
โดยพื้นฐานแล้ว คอมพิวเตอร์จะเกี่ยวข้องกับเรื่องของตัวเลข
คอมพิวเตอร์จัดเก็บตัวอักษรและอักขระอื่นๆ โดยการกำหนดหมายเลขให้สำหรับแต่ละตัว ก่อนหน้าที่
Unicode จะถูกสร้างขึ้น
ได้มีระบบ encoding อยู่หลายร้อยระบบสำหรับการกำหนดหมายเลขเหล่านี้
ไม่มี encoding ใดที่มีจำนวนตัวอักขระมากเพียงพอยกตัวอย่างเช่น
เฉพาะในกลุ่มสหภาพยุโรปเพียงแห่งเดียว ก็ต้องการหลาย encoding ในการครอบคลุมทุกภาษาในกลุ่ม หรือแม้แต่ในภาษาเดี่ยว เช่น ภาษาอังกฤษ
ก็ไม่มี encoding ใดที่เพียงพอสำหรับทุกตัวอักษร เครื่องหมายวรรคตอน
และสัญลักษณ์ทางเทคนิคที่ใช้กันอยู่ทั่วไป
ระบบ encoding เหล่านี้ยังขัดแย้งซึ่งกันและกัน นั่นก็คือ ในสอง
encoding สามารถใช้หมายเลขเดียวกันสำหรับตัวอักขระสองตัวที่แตกต่างกันหรือใช้หมายเลขต่างกันสำหรับอักขระตัวเดียวกัน
ในระบบคอมพิวเตอร์ (โดยเฉพาะเซิร์ฟเวอร์) ต้องมีการสนับสนุนหลาย encoding และเมื่อข้อมูลที่ผ่านไปมาระหว่างการเข้ารหัสหรือแพล็ตฟอร์มที่ต่างกัน
ข้อมูลนั้นจะเสี่ยงต่อการผิดพลาดเสียหาย
หลักการทำงานของ Unicode
หลักการทำงานของ Unicode
รหัสแบบที่กำหนด
1 byte หรือ
8 บิตสำหรับ 1
ตัวอักษรนั้นมีความเหมาะสมและเพียงพอสำหรับภาษาที่ใช้ตัวอักขระแต่ละตัวแทนเสียงในภาษา
(alphabetical language) แต่สำหรับภาษาที่เขียนโดยใช้ตัวอักขระแทนพยางค์หรือหน่วยคำ
เช่น ภาษาญี่ปุ่น ภาษาจีน จะมีจำนวนอักขระที่เขียนเป็นจำนวนมากเกินกว่าที่จะแทนด้วย
1 byte ได้ (ซึ่งแทนได้เพียง 256
แบบของตัวอักขระ) อีกทั้งเมื่อมีการใช้รหัสอักขระที่แตกต่างกัน
ก็จะมีผลต่อการย้ายข้อมูลข้ามภาษา เช่น รหัสที่แทนตัวอักขระ ก
ที่ใช้ภาษาไทยจะไปตรงกับรหัสตัวอักขระ ¡ ในอีกตารางหนึ่ง
เป็นต้น จึงมีความพยายามแก้ปัญหาให้มีรหัสเดียวที่ใช้ได้กับอักขระทุกภาษา
ซึ่งเป็นที่มาของการพัฒนารหัส Unicode ขึ้นมาตั้งแต่ปีค.ศ.1991
(Unicode 1.0) โดยที่รหัสตัวอักขระ 256
ตัวแรกนั้นจะเหมือนกับรหัสของ ISO-8859 ปัจจุบันพัฒนามาถึง Unicode
5.1
KANJANA HLUANGTONG
K 01001011
A 01000001
N 01001110
J 01001010
A 01000001
N 01001110
A 01000001
H 01001000
L 01001100
U 01010101
A 01000001
N 01001110
G 01000111
T 01010100
O 01001111
N 01001110
G 01000111
0100101101000001010011100100101001000001010011100100000101001000
010011000101010101000001 0100111001000111010101000100111101001110
01000111
010011000101010101000001 0100111001000111010101000100111101001110
01000111
ใช้พื้นที่ในการจัดเก็บ 136 บิต
17 ไบต์
ไม่มีความคิดเห็น:
แสดงความคิดเห็น