วันอาทิตย์ที่ 7 กรกฎาคม พ.ศ. 2556

รหัสแทนข้อมูล รหัส ASCII และ รหัส Unicode


รหัส ASCII และ รหัส Unicode




ASCII
         เดิมการแทนรหัสฐานสองด้วยพยัญชนะในภาษาต่างๆเป็นการกำหนดกันเอง ขึ้นอยู่กับว่า ใครพัฒนาขึ้นมาทำให้การส่งผ่านข้อมูลระหว่างเครื่องคอมพิวเตอร์ต่างชนิดไม่สามารถส่งผ่านกันได้  เพราะใช้รหัสในเลขฐานสองไม่เหมือนกัน ดังนั้นเพื่อที่จะให้สื่อสารกันได้ จึงจำเป็นต้องมีการกำหนดมาตรฐานของรหัสขึ้น สำหรับภาษาอังกฤษ เรียกว่า รหัสแอสกี้ (American Standard 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 ใช้วิธีการกำหนดการแทนรหัสเป็นเลขฐานสิบ ทำให้ง่ายต่อการจำและใช้งาน นอกจากนั้นยังสามารถเขียนมนรูปของเลขฐานสิบหกได้ด้วย ดังนั้น ASCII Code จึงเป็นรหัสที่เขียนได้ 3 แบบ เช่นอักษร A สามารถแทนเป็นรหัสได้ดังนี้
สัญลักษณ์
เลขฐานสิบ
เลขฐานสอง
เลขฐานสิบหก
A
65
100 0001
4 1
รหัส ASCII สามารถใช้แทนข้อมูลอักขระและคำสั่งได้มากขึ้น และมีการขยายเป็นรหัสแบบ 8 บิท

ตารางรหัส ASCII แทนตัวอักษร


















วิธีการอ่านค่าจากตารางแอสกี

1. ชี้ตรงตัวอักษรที่ต้องการแทนรหัส เช่น ก
2. อ่านค่ารหัสในตารางแนวตั้งตรงตำแหน่ง b7 b6 b5 และ b4 ค่าที่ได้ คือ 1010
3. อ่านค่ารหัสในตารางแนวนอนตรงตำแหน่ง b3 b2 b1 และ b0 ค่าที่ได้ คือ 0001
4. ดังนั้นรหัสแทนข้อมูลของตัวอักษร ก คือ 1010 0001

***************************************************************

Unicode

        ยูนิโค๊ด คือ รหัสคอมพิวเตอร์ใช้แทนตัวอักขระ สามารถใช้แทน ตัวอักษร,ตัวเลข,สัญลักษณ์ต่างๆ ได้มากกว่ารหัสแบบเก่าอย่าง  ASCII ซึ่งเก็บตัวอักษรได้สูงสุดเพียง 256 ตัว(รูปแบบ) โดย Unicdoe รุ่นปัจจุบันสามารถเก็บตัวอักษรได้ถึง 34,168 ตัวจากภาษาทั้งหมดทั่วโลก 24 ภาษา โดยไม่สนใจว่าเป็นแพลตฟอร์มใด ไม่ขึ้นกับโปรแกรมใด หรือภาษาใด unicode ได้ถูกนำไปใช้โดยผู้นำในอุตสาหกรรม 
เช่น Apple, HP, IBM, Microsoft, Unix ฯลฯ และเป็นแนวทางอย่างเป็นทางการในการทำ ISO /IEC 10646 ดังนั้น Unicode จึงถือเป็นมาตรฐานในการกำหนดรหัส สำหรับทุกตัวอักษร ทุกอักขระ  unicode ทำให้ข้อมูลสามารถเคลื่อนย้ายไปมาในหลายๆ ระบบ ข้ามแพลตฟอร์มไปมา หรือข้ามโปรแกรมได้อย่างสะดวก โดยไร้ข้อจำกัด Unicode ต่างจาก ASCII คือ ASCII เก็บ byte เดียว แต่ Unicode เก็บ 2 byte ซึ่งข้อมูล 2 byte เก็บข้อมูลได้มากมายมหาศาล สามารถเก็บข้อมูลได้มากมายหลายภาษาในโลก 
อย่างภาษาไทยก็อยู่ใน Unicode นี้ด้วยเหมือนกัน ดังนั้นรหัสภาษาไทยเอาไปเปิดในภาษาจีน ก็ยังเป็นภาษาไทยอยู่ ไม่ออกมาเป็นภาษาจีน เพราะว่ามี code ตายตัวอยู่ว่า code นี้จองไว้สำหรับภาษาไทย แล้ว code ตรงช่วงนั้นเป็นภาษาจีน ตรงโน่นเป็นภาษาญี่ปุ่น จะไม่ใช้ที่ซ้ำกัน เป็นต้น

Unicode คืออะไร ยูนิโค๊ด คือ รหัสคอมพิวเตอร์ ซึ่งใช้แทนตัวอักษร ตัวเลข และ สัญลักษณ์ต่างๆ
ตัวอย่าง Unicode


***************************************************************
CHATNARONG WONGMANEESUP

แทนด้วยรหัส ASCII  ดังนี้

0100  0011   C
0100  1000   H
0100  0001   A
0101  0100   T
0100  1110   N
0100  0001   A
0101  0010   R
0100  1111   O
0100  1110   N
0100  0111   G
0100  0000  SPACE
0101  0111   W
0100  1111   O
0100  1110   N
0100  0111   G
0100  1101   M
0100  0001   A
0100  1110   N
0100  0101   E
0100  0101   E
0101  0011   S
0101  0101   U
0101  0000   P
ใช้พื้นที่จัดเก็บจำนวน 23 byte


แทนด้วยรหัส ASCII  ดังนี้

010000110100100001000001010101000100111001000001010100100100111101001110010001110101011101001111010001110010001110100110101000001010011100100010101000101010100110101010101010000

ใช้พื้นที่จัดเก็บจำนวน 177 bit  22 byte



ขอบคุณครับ 
THANK YOU





ไม่มีความคิดเห็น:

แสดงความคิดเห็น