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

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

รหัส ASCII
 (American Standard Code for Information Interchange)

         การกำหนดรหัสแทนข้อมูลขึ้นอยู่กับชนิดของข้อมูลและคอมพิวเตอร์ รหัสที่ใช้แทนตัวอักขระที่เป็นมาตรฐานแบบหนึ่ง เรียกว่า รหัสแอสกี (American Standard Code for Information Interchange : ASCII) รหัสแอสกีเป็นรหัสที่กำหนดขึ้นโดย หน่วยงานกำหนดมาตรฐานของสหรัฐอเมริกาใช้กันแพร่หลายกับระบบคอมพิวเตอร์ทั่วไปและระบบสื่อสารข้อมูล รหัสอักขระแต่ละตัวประกอบด้วย 8 บิต  คือ
บิตที่76543210
ตัวเลขฐานสอง  8 บิตหรือ  1 ไบต์ สามารถใช้แทนรหัสต่างๆ ได้ถึง 256 ตัว แต่รหัสตัวอักษรภาษาอังกฤษทั้งหมดมีจำนวนรวมกันไม่เกิน  128 ตัว
ดังนั้นสำนักงานมาตรฐานผลิตภัณฑ์อุสาหกรรมจึงได้กำหนดภาษาไทยเพิ่มเติมเพื่อใช้ในงานสารสนเทศเป็นภาษาไทยได้ เช่น
10100001  = 1 ไบต์ (byte)ใช้แทนตัวอักษร  ก
10100010  = 1 ไบต์ (byte)ใช้แทนตัวอักษร  ข
10100100  = 1 ไบต์ (byte)ใช้แทนตัวอักษร  ค
ตัวอย่าง คำว่า "แดง" เขียนแทนได้ด้วย
11100001 10110100 10100111


ตารางแสดงรหัส แอสกี (ASCII Code)

รหัสแอสกี
ASCII code
b70000000011111111
b60000111100001111
b50011001100110011
b40101010101010101
b3b2b1b0
00000@P?p
0001!1AQaq.ั
0010"2BRbr
0011?3CScs.ำ
0100$4DTdt.ิ
0101%5EUeu.ี
0110&6FVfv.ึ
0111'7GWgw.ื.็
1000(8HXhxํ่`ุ.่
1001)9IYiyู`ู.้
1010*:JZjz.๊
1011+;K[k?.๋
1100,<Ll:.์
1101-=M]m.ํ
1110.>Nn
1111/?O_o฿


ที่มา :
 http://www.chakkham.ac.th/technology/number/assc.html


รหัส 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



ที่มา : http://www.mindphp.com



การแทนรหัส ASCII

SUNANTHA  KAEWLUAN

S = 0101  0011
U = 0101  0101
N = 0100  1110
A = 0100  0001
N = 0100  1110
T = 0101  0100
H = 0100  1000
A = 0100  0001
spacebar = 0010 0000
K = 0100  1011
A = 0100  0001
E = 0100  0101
W = 0101  0111
L = 0100  1100
U = 0101  0101
A = 0100  0001
N = 0100  1110

ใช้พื้นที่จัดเก็บ 136 บิต 17 ไบต์



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

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