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

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


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

รหัส ASCII
 
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 ใช้วิธีการกำหนดการแทนรหัสเป็นเลขฐานสิบ ทำให้ง่ายต่อการจำและใช้งาน นอกจากนั้นยังสามารถเขียนมนรูปของเลขฐานสิบหกได้ด้วย 
 
 
รหัส Unicode
Unicode  คือ
                Unicode กำหนดหมายเลขเฉพาะสำหรับทุกอักขระโดยไม่สนใจว่าเป็นแพล็ตฟอร์มใด
ไม่ขึ้นกับว่าจะเป็นโปรแกรมใดและไม่ว่าจะเป็นภาษาใด
โดยพื้นฐานแล้ว คอมพิวเตอร์จะเกี่ยวข้องกับเรื่องของตัวเลข คอมพิวเตอร์จัดเก็บตัวอักษรและอักขระอื่นๆ โดยการกำหนดหมายเลขให้สำหรับแต่ละตัว ก่อนหน้าที่ Unicode จะถูกสร้างขึ้น ได้มีระบบ encoding อยู่หลายร้อยระบบสำหรับการกำหนดหมายเลขเหล่านี้ ไม่มี encoding ใดที่มีจำนวนตัวอักขระมากเพียงพอยกตัวอย่างเช่น เฉพาะในกลุ่มสหภาพยุโรปเพียงแห่งเดียว ก็ต้องการหลาย encoding ในการครอบคลุมทุกภาษาในกลุ่ม หรือแม้แต่ในภาษาเดี่ยว เช่น ภาษาอังกฤษ ก็ไม่มี encoding ใดที่เพียงพอสำหรับทุกตัวอักษร เครื่องหมายวรรคตอน และสัญลักษณ์ทางเทคนิคที่ใช้กันอยู่ทั่วไป
ระบบ encoding เหล่านี้ยังขัดแย้งซึ่งกันและกัน นั่นก็คือ ในสอง encoding สามารถใช้หมายเลขเดียวกันสำหรับตัวอักขระสองตัวที่แตกต่างกันหรือใช้หมายเลขต่างกันสำหรับอักขระตัวเดียวกัน ในระบบคอมพิวเตอร์ (โดยเฉพาะเซิร์ฟเวอร์) ต้องมีการสนับสนุนหลาย encoding  และเมื่อข้อมูลที่ผ่านไปมาระหว่างการเข้ารหัสหรือแพล็ตฟอร์มที่ต่างกัน ข้อมูลนั้นจะเสี่ยงต่อการผิดพลาดเสียหาย
 
หลักการทำงานของ Unicode
รหัสแบบที่กำหนด 1 byte หรือ 8 บิตสำหรับ 1 ตัวอักษรนั้นมีความเหมาะสมและเพียงพอสำหรับภาษาที่ใช้ตัวอักขระแต่ละตัวแทนเสียงในภาษา (alphabetical language) แต่สำหรับภาษาที่เขียนโดยใช้ตัวอักขระแทนพยางค์หรือหน่วยคำ เช่น ภาษาญี่ปุ่น ภาษาจีน จะมีจำนวนอักขระที่เขียนเป็นจำนวนมากเกินกว่าที่จะแทนด้วย 1 byte ได้ (ซึ่งแทนได้เพียง 256 แบบของตัวอักขระ) อีกทั้งเมื่อมีการใช้รหัสอักขระที่แตกต่างกัน ก็จะมีผลต่อการย้ายข้อมูลข้ามภาษา เช่น รหัสที่แทนตัวอักขระ ก ที่ใช้ภาษาไทยจะไปตรงกับรหัสตัวอักขระ ¡ ในอีกตารางหนึ่ง เป็นต้น จึงมีความพยายามแก้ปัญหาให้มีรหัสเดียวที่ใช้ได้กับอักขระทุกภาษา ซึ่งเป็นที่มาของการพัฒนารหัส Unicode ขึ้นมาตั้งแต่ปีค.ศ.1991 (Unicode 1.0) โดยที่รหัสตัวอักขระ 256 ตัวแรกนั้นจะเหมือนกับรหัสของ ISO-8859 ปัจจุบันพัฒนามาถึง Unicode 5.1
 

 


 
 
 
KANJANA HLUANGTONG

K     01001011
A     01000001
N     01001110
J      01001010
A     01000001
N     01001110
A     01000001
 
H     01001000
L     01001100
U    01010101
A     01000001
N     01001110
G     01000111
T     01010100
O     01001111
N     01001110
G     01000111
 
 0100101101000001010011100100101001000001010011100100000101001000
 010011000101010101000001 0100111001000111010101000100111101001110
 01000111

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








 

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

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