แอสกี หรือ รหัสมาตรฐานของสหรัฐอเมริกาเพื่อการแลกเปลี่ยนสารสนเทศ (อังกฤษ: ASCII: American Standard Code for Information Interchange) เป็นรหัสอักขระที่ประกอบด้วยอักษรละติน เลขอารบิก เครื่องหมายวรรคตอน และสัญลักษณ์ต่างๆ โดยแต่ละรหัสจะแทนด้วยตัวอักขระหนึ่งตัว เช่น รหัส 65 (เลขฐานสิบ) ใช้แทนอักษรเอ (A) พิมพ์ใหญ่ เป็นต้น
รหัสแอสกีมีใช้ในระบบคอมพิวเตอร์ และเครื่องมือสื่อสารแบบดิจิทัลต่างๆ พัฒนาขึ้นโดยคณะกรรมการ X3 ซึ่งอยู่ภายใต้การดูแลของสมาคมมาตรฐานอเมริกา (American Standards Association) ภายหลังกลายเป็น สถาบันมาตรฐานแห่งชาติอเมริกา (American National Standard Institute : ANSI) ในปี ค.ศ. 1969 โดยเริ่มต้นใช้ครั้งแรกในปี ค.ศ. 1967 ซึ่งมีอักขระทั้งหมด 128 ตัว (7 บิต) โดยจะมี 33 ตัวที่ไม่แสดงผล (unprintable/control character) ซึ่งใช้สำหรับควบคุมการทำงานของคอมพิวเตอร์บางประการ เช่น การขึ้นย่อหน้าใหม่สำหรับการพิมพ์ (CR & LF - carriage return and line feed) การสิ้นสุดการประมวลผลข้อมูลตัวอักษร (ETX - end of text) เป็นต้น และ อีก 95 ตัวที่แสดงผลได้ (printable character) ดังที่ปรากฏตามผังอักขระ (character map) ด้านล่าง
รหัสแอสกีได้รับการปรับปรุงล่าสุดเมื่อ ค.ศ. 1986 ให้มีอักขระทั้งหมด 256 ตัว (8 บิต) และเรียกใหม่ว่าแอสกีแบบขยาย อักขระที่เพิ่มมา 128 ตัวใช้สำหรับแสดงอักขระเพิ่มเติมในภาษาของแต่ละท้องถิ่นที่ใช้ เช่นภาษาเยอรมัน ภาษารัสเซีย ฯลฯ โดยจะมีผังอักขระที่แตกต่างกันไปในแต่ละภาษาซึ่งเรียกว่า โคดเพจ (codepage) โดยอักขระ 128 ตัวแรกส่วนใหญ่จะยังคงเหมือนกันแทบทุกโคดเพจ มีส่วนน้อยที่เปลี่ยนแค่บางอักขระ
ฐานสอง | ฐาน สิบ | ฐาน สิบหก | อักขระ | ความหมาย |
0000 0000 | 0 | 00 | (ว่าง) | NUL - null character |
0000 0001 | 1 | 01 | ☺ | SOH - start of heading |
0000 0010 | 2 | 02 | ☻ | STX - start of text |
0000 0011 | 3 | 03 | ♥ | ETX - end of text |
0000 0100 | 4 | 04 | ♦ | EOT - end of transmission |
0000 0101 | 5 | 05 | ♣ | ENQ - enquiry |
0000 0110 | 6 | 06 | ♠ | ACK - acknowledge |
0000 0111 | 7 | 07 | • | BEL - bell |
0000 1000 | 8 | 08 | ◘ | BS - backspace |
0000 1001 | 9 | 09 | ○ | HT - horizontal tabulation |
0000 1010 | 10 | 0A | ◙ | LF - line feed |
0000 1011 | 11 | 0B | ♂ | VT - vertical tabulation |
0000 1100 | 12 | 0C | ♀ | FF - form feed |
0000 1101 | 13 | 0D | ♪ | CR - carriage return |
0000 1110 | 14 | 0E | ♫ | SO - shift out |
0000 1111 | 15 | 0F | ☼ | SI - shift in |
แหล่งที่มา http://th.wikipedia.org/wiki/%E0%B9%81%E0%B%AD%0%B8%AA%E0%B8%81%E0%B8%B5 |
|
ยูนิโคด (อังกฤษ: Unicode) คือมาตรฐานอุตสาหกรรมที่ช่วยให้คอมพิวเตอร์แสดงผลและจัดการข้อความธรรมดาที่ใช้ในระบบการเขียนของภาษาส่วนใหญ่ในโลกได้อย่างสอดคล้องกัน ยูนิโคดประกอบด้วยรายการอักขระที่แสดงผลได้มากกว่า 100,000 ตัว พัฒนาต่อยอดมาจากมาตรฐานชุดอักขระสากล (Universal Character Set: UCS) และมีการตีพิมพ์ลงในหนังสือ The Unicode Standard เป็นแผนผังรหัสเพื่อใช้เป็นรายการอ้างอิง นอกจากนั้นยังมีการอธิบายวิธีการที่ใช้เข้ารหัสและการนำเสนอมาตรฐานของการเข้ารหัสอักขระอีกจำนวนหนึ่ง การเรียงลำดับอักษร กฎเกณฑ์ของการรวมและการแยกอักขระ รวมไปถึงลำดับการแสดงผลของอักขระสองทิศทาง (เช่นอักษรอาหรับหรืออักษรฮีบรูที่เขียนจากขวาไปซ้าย) [1]
ยูนิโคดคอนซอร์เทียม (Unicode Consortium) ซึ่งเป็นองค์กรไม่แสวงหาผลกำไร เป็นผู้รับผิดชอบในการพัฒนายูนิโคด องค์กรนี้มีจุดมุ่งหมายเกี่ยวกับการแทนที่การเข้ารหัสอักขระที่มีอยู่ด้วยยูนิโคดและมาตรฐานรูปแบบการแปลงยูนิโคด (Unicode Transformation Format: UTF) แต่ก็เป็นที่ยุ่งยากเนื่องจากแผนการที่มีอยู่ถูกจำกัดไว้ด้วยขนาดและขอบเขต ซึ่งอาจไม่รองรับกับสภาพแวดล้อมหลายภาษาในคอมพิวเตอร์
ความสำเร็จของยูนิโคดคือการรวมรหัสอักขระหลายชนิดให้เป็นหนึ่งเดียว นำไปสู่การใช้งานอย่างกว้างขวางและมีอิทธิพลต่อการแปลภาษาของซอฟต์แวร์คอมพิวเตอร์ นั่นคือโปรแกรมจะสามารถใช้ได้หลายภาษา มาตรฐานนี้มีการนำไปใช้เป็นเทคโนโลยีหลักหลายอย่าง อาทิ เอกซ์เอ็มแอล ภาษาจาวา ดอตเน็ตเฟรมเวิร์กและระบบปฏิบัติการสมัยใหม่
ยูนิโคดสามารถนำไปใช้งานได้ด้วยชุดอักขระแบบต่าง ๆ ชุดอักขระที่เป็นที่รู้จักมากที่สุดคือ UTF-8 (ใช้ 1 ไบต์สำหรับอักขระทุกตัวในรหัสแอสกีและมีค่ารหัสเหมือนกับมาตรฐานแอสกี หรือมากกว่านั้นจนถึง 4 ไบต์สำหรับอักขระแบบอื่น) UCS-2 ซึ่งปัจจุบันเลิกใช้แล้ว (ใช้ 2 ไบต์สำหรับอักขระทุกตัว แต่ไม่ครอบคลุมอักขระทั้งหมดในยูนิโคด) และ UTF-16 (เป็นส่วนขยายจาก UCS-2 โดยใช้ 4 ไบต์สำหรับแทนรหัสอักขระที่ขาดไปของ UCS-2)
-----------------------------------------------------------------------------------------------------------
APIWAT KEEREERATTANARAK
A 0100 0001 K 0100 1011
P 0101 0000 E 0100 0101
I 0100 1001 E 0100 0101
W 0101 0001 R 0101 0010
A 0100 0100 E 0100 0101
T 0101 0100 E 0100 0101
R 0101 0010
A 0100 0001
T 0101 0100
T 0101 0100
A 0100 0001
N 0100 1110
A 0100 0001
R 0101 0010
A 0100 0001
K 0100 1011
มีพื้นที่จัดเก็บดังนี้ 22 ไบต์ 176 บิต