ASCII code คืออะไร

Payat Pirasuwanpong
1 min readMar 21, 2019

--

หากเราเคยดูภาพยนต์เรื่อง The Martian จะมีฉากนึงที่พระเอกซึ่งติดอยู่บนดาวอังคารเพียงลำพัง พยายามจะติดต่อกลับมายังโลกและสามารถพูดคุยกับทีมช่วยเหลือได้สำเร็จ โดยใช้การหันกล้องที่ติดอยู่กับหุ่นยนต์ซ้ายๆขวาๆเท่านั้น ฉากนี้พระเอกใช้สิ่งที่เรียกว่า ASCII code (ออกเสียงว่า แอสกี้ โค้ด) มาช่วยให้พวกเค้าสื่อสารกันได้

ก่อนที่จะทำความเข้าใจ ASCII code เราต้องเข้าใจเลขฐานซะก่อน

เลขฐานจะกล่าวง่ายๆ ก็คือ 1 หลัก จะมีจำนวนเท่ากับฐาน ยกตัวอย่างเช่น เลขฐาน10 (เลขฐานที่เราใช้กันในชีวิตประจำวัน)

การนับเลขฐาน10 เราจะเริ่ม จาก 0, 1, 2 …, จนถึง 9 เป็นจำนวน 10 ตัว ก่อนที่ขึ้นหลักใหม่

อีกตัวอย่างนึงก็คือ เข็มวินาทีของนาฬิกา จะเป็นเลขฐาน 60

โดยวินาทีจะเริ่มต้นจาก 0, 1, 2 …, จนถึง 59 ก่อนที่ขึ้นหลักใหม่ (ในกรณีนี้คือนาที)

เลขฐาน2

เลขฐาน2 ก็จะนับหลักละ 2 ตัว กล่าวคือ 0 กับ 1

เลขฐาน10 แปลงเป็น เลขฐาน2

ภาษาที่คอมพิวเตอร์สามารถเข้าใจได้ ก็จะเป็น Binary code หรือเลขฐาน2 นี่แหละ เนื่องจากเมื่อคอมพิวเตอร์ตรวจพบกระแสไฟฟ้าจะตีความเป็น1 กลับกันถ้าไม่มีกระแสไฟฟ้าก็จะตีความเป็น0 เพราะฉะนั้นในระบบคอมพิวเตอร์จึงมีแค่เลข สองตัวนี้เท่านั้น

การคำนวณทางคอมพิวเตอร์

คอมพิวเตอร์จะมีการคำนวณแต่ละชุดคำสั่งทีละ 8 หลัก หรือ 8 bits เช่น

0 1 0 0 0 0 0 1 = A

ต่อมา Programmer จึงใช้เลขฐาน16 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) แทน 4 หลักของเลขฐาน2 เพื่อความสะดวกในการอ่าน ในกรณีนี้เลขฐาน16 คือ

81 = A

ASCII

ย่อมาจาก American Standard Code for Information Interchange ASCII กล่าวคือเป็นการกำหนด มาตรฐานการแปลงไปแปลงมาระหว่าง เลขฐาน16 (HEX code) เป็น ตัวอักษรภาษาอังกฤษ

มาถึงฉากที่พระเอก The Martian จะต้องสื่อสารกับโลกเสียที

หากว่าตัวเอกของเราจะพูดคำว่า “Hello” แปลงเป็น Binary code ได้คือ 0100100001100101011011000110110001101111

หากว่าหันกล้องไปทางซ้ายตีความเป็น 0

หันกล้องไปทางขวาตีความเป็น 1

ต้องการแค่ say “Hello” จะต้องหมุนไปหมุนมาถึง 40 ครั้งเลยทีเดียว

แต่พระเอกของเรามีเวลาเหลือเฟือในการหมุนกล้องไปกล้องมาเพื่อที่จะได้สื่อสารกับคนบนโลกอยู่แล้ว

--

--

Payat Pirasuwanpong
Payat Pirasuwanpong

Written by Payat Pirasuwanpong

ผู้แนะนำการลงทุนและประกันภัย ใบอนุญาตเลขที่ 126734, เน้นการให้คำแนะนำที่ตรงไปตรงมา ต้องการวางแผนการลงทุนหรือความคุ้มครองประกันชีวิต ติดต่อ Line: 0805246996

Responses (1)