วันจันทร์ที่ 8 กรกฎาคม พ.ศ. 2556

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




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

  • ASCLL
เดิมการแทนรหัสฐานสองด้วยพยัญชนะในภาษาต่างๆเป็นการกำหนดกันเอง ขึ้นอยู่กับว่า ใครพัฒนาขึ้นมาทำให้การส่งผ่านข้อมูลระหว่างเครื่องคอมพิวเตอร์ต่างชนิดไม่สามารถส่งผ่านกันได้ เพราะใช้รหัสในเลขฐานสองไม่เหมือนกัน ดังนั้นเพื่อที่จะให้สื่อสารกันได้ จึงจำเป็นต้องมีการกำหนดมาตรฐานของรหัสขึ้น สำหรับภาษาอังกฤษ เรียกว่า รหัสแอสกี้ (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


ตัวอย่าง 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 ตรงช่วงนั้นเป็นภาษาจีน ตรงโน่นเป็นภาษาญี่ปุ่น จะไม่ใช้ที่ซ้ำกัน เป็นต้น
                 

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

0101 0011      S
0101 0101      U
0101 0010      R
0100 0101      E
0100 0101      E
0101 0000      P
0100 1111      O
0101 0010      R
0100 1110      N
0100 1101      M
0101 0101      U
0100 0101      E
0100 0001      A
0100 1110      N
0100 0111      G
0101 0011      S
0101 0101      U
0100 1011      K
***** ใช้พื้นที่ทั้งหมด 144 BIT 18 BYTE

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

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