วันพฤหัสบดีที่ 18 กรกฎาคม พ.ศ. 2556

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

รหัส 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 สามารถแทนเป็นรหัสได้ดังนี้


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


Unicode

          ยูนิโค๊ด คือ รหัสคอมพิวเตอร์ใช้แทนตัวอักขระ สามารถใช้แทน ตัวอักษร,ตัวเลข,สัญลักษณ์ต่างๆ ได้มากกว่ารหัสแบบเก่าอย่าง ASCII ซึ่งเก็บตัวอักษรได้สูงสุดเพียง 256 ตัว(รูปแบบ) โดยUnicode รุ่นปัจจุบันสามารถเก็บตัวอักษรได้ถึง 34,168 ตัวจากภาษาทั้งหมดทั่วโลก 24 ภาษา โดยไม่สนใจว่าเป็นแพลตฟอร์มใด ไม่ขึ้นกับโปรแกรมใด หรือภาษาใด Unicode ได้ถูกนำไปใช้โดยผู้นำในอุตสาหกรรม
ตัวอย่าง Unicode



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


 NATTAWUT SITTIKUL 


0100 1110 = N
0100 0001 = A 
0101 0100 = T
0101 0100 = T
0100 0001 = A
0101 0111 = W
0101 0011 = U 
0101 0100 = T
0100 0000 = SPACE BAR
0101 0011 = S
0010 1001 = I
0101 0100 = T
0101 0100 = T
0010 1001 = I
0010 1101 = K
0101 0011 = U
0010 0011 = L

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

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

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






1 ความคิดเห็น: