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

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

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



     <<  รหัสแทนข้อมูล   รหัส ASCII  และ รหัส UNICODE   >>  
 รหัส ASCII  

แอสกี หรือ รหัสมาตรฐานของสหรัฐอเมริกาเพื่อการแลกเปลี่ยนสารสนเทศ  ชื่อเต็มคือ American Standard Code for Information Interchange ความสำคัญคือเป็นรหัสอักขระที่ประกอบด้วยอักษรละติน เลขอารบิก เครื่องหมายวรรคตอน และสัญลักษณ์ต่างๆ โดยแต่ละรหัสจะแทนด้วยตัวอักขระหนึ่งตัว เช่น
 รหัส 65 (เลขฐานสิบ) ใช้แทนอักษรเอ (A) พิมพ์ใหญ่

ASCII เป็นรูปแบบปกติของไฟล์ข้อความ (text file) ในคอมพิวเตอร์ และอินเตอร์เน็ต ในไฟล์ ASCII อักษรแต่ละตัว ตัวเลข หรืออักษรพิเศษ จะได้รับการแสดงด้วยตัวเลขฐานสอง ซึ่งสามารถใช้ระบุตัวอักษรได้ 128 ตัว

          ระบบ ปฏิบัติการ UNIX และ DOS (ยกเว้น Windows NT) ใช้ ASCII สำหรับไฟล์ข้อความ ระบบ Windows NT ใช้รหัสแบบใหม่ คือ Unicode ในระบบ IBM 390 ใช้รหัส 8 หลัก เรียกว่า extended binary-decimal interchange code โปรแกรมแปลงยินยอมให้ระบบปฏิบัติที่แตกต่างกันแปลงไฟล์จากรหัสหนึ่งเป็น อีกรหัสหนึ่ง


ตารางแทนรหัส 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




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

  SUPARAT  SAWASDEE

0101 0011   = S
0101 0101   = U
0101 0000   = P
0100 0001   = A
0101 0010   = R
0101 0011   = S
0101 0100   = T
0100 0000   = SPACE BAR
0101 0011   = S
0100 0001   = A
0101 0111   = W
0100 0001   = A
0101 0011   = S
0100 0100   = D
0100 0101   = E
0100 0101   = E

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




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


01010011010101010101000001000001010100100101001101010100010000000101001101000001010101110100000101010011010001000100010101000101

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















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

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