Google Play badge

ascii


ASCII: Як комп'ютери зберігають літери та символи

Велика ідея

Комп'ютери використовують цифри. Люди використовують літери та символи. Нам потрібен міст. ASCII — це цей міст. ASCII перетворює кожну літеру чи символ на число. Комп'ютер зберігає число. Коли ми читаємо, комп'ютер знову показує літеру. Так текст працює в багатьох файлах і програмах.

Навіщо комп'ютерам потрібен код

Комп'ютер працює з електрикою. Він бачить два стани. Увімкнено та Вимкнено. Ми називаємо ці стани бітами . Біт - це 0 або 1. Багато бітів разом утворюють більші числа. Вісім бітів утворюють байт . За допомогою бітів ми можемо рахувати. За допомогою лічби ми можемо називати речі. ASCII використовує лічбу для позначення літер та символів.

Один біт дає два варіанти. Два біти дають чотири варіанти. У математиці ця ідея зображується як \(\;2^n\) . Для \(n=7\) ми отримуємо \(2^7 = 128\) варіантів. Для \(n=8\) ми отримуємо \(2^8 = 256\) варіантів. ASCII використовує 7 бітів. Це дає 128 іменованих елементів. Пізніше люди створили 8-бітові набори з 256 елементами. Вони називаються розширеним ASCII .

Що означає ASCII

ASCII розшифровується як Американський стандартний код для обміну інформацією (American Standard Code for Information Interchange ). Він з'явився в 1960-х роках. Його було створено для ранніх принтерів, телетайпів та комп'ютерів. Він надає кожній літері, цифрі, пробілу та деяким символам число. Він також надає спеціальні номери діям, таким як новий рядок . Перша версія використовувала 7 бітів, тому мала числа від 0 до 127.

Що міститься в ASCII
Прості приклади карт

Зверніть увагу на дещо цікаве. Малі літери на 32 більше, ніж їхня пара великих. Наприклад, \(\;97 - 65 = 32\) . Отже, 'a' на 32 більше, ніж 'A'. 'b' на 32 більше, ніж 'B' тощо. Цей шаблон спрощує деякі комп'ютерні завдання.

Керівні символи у простих словах

Коли ви натискаєте клавішу Enter, ваш комп'ютер може надсилати LF, CR або обидва, залежно від системи. Багато інтернет-інструментів використовують LF. Деякі старі системи використовували CR та LF разом.

Десятковий, двійковий та шістнадцятковий вигляд

Ми можемо записувати числа по-різному. Десяткова система числення — це звичайний спосіб рахування, який використовує цифри від 0 до 9. Двійкова використовує лише 0 та 1. Шістнадцяткова (гексадецимальна) використовує цифри від 0 до 9 та від A до F.

Як двійкова система утворює 65 для «A»? Подивіться на біти в 01000001. Крайній лівий біт відповідає 128. Потім 64, 32, 16, 8, 4, 2, 1. Тільки 64 та 1 увімкнені. Отже, \(01000001_{(2)} = 0\times128 + 1\times64 + 0\times32 + 0\times16 + 0\times8 + 0\times4 + 0\times2 + 1\times1 = 65\) .

З клавіатури на екран

Натисніть клавішу. Клавіатура надсилає код на комп'ютер. Система перетворює його на символ чисел. Для багатьох клавіш це число є числом ASCII. Додаток зберігає число в пам'яті. Коли він відображає текст, він шукає число та малює літеру. Коли ви зберігаєте, числа потрапляють у файл.

Як текст передається мережею

Уявіть собі повідомлення «Привіт!» . Це літери H, i та !. Їхні ASCII-номера — 72, 105 та 33. У двійковій системі числення це 01001000, 01101001 та 00100001. Мережа надсилає ці біти. Інша сторона зчитує біти. Вона бачить числа. Вона знову показує H, i та !. Ось так передаються прості текстові повідомлення.

Розширені ASCII та кодові сторінки

Люди хотіли більше символів. Вони хотіли літер, таких як é, ñ та ø. Вони хотіли знаків грошей, таких як €. 7-бітний набір мав лише 128 символів. Тому люди використовували 8 бітів. З 8 бітами ми отримуємо \(2^8 = 256\) символів. Верхня половина, від 128 до 255, використовувалася для додаткових літер та символів. Але виникла проблема. Різні групи обрали різні числа для цих додаткових літер. Цей вибір називається кодовими сторінками .

Оскільки кодові сторінки відрізняються, одне й те саме число може відображати різні символи на іншому комп'ютері. Така плутанина називається модзібейк . Вона виглядає як дивні символи. Це одна з причин, чому світ перейшов на Юнікод.

ASCII та Unicode

Юнікод — це поширений стандарт, який може відображати багато мов, математичних символів та емодзі. Він має місце для понад мільйона символів. Існує багато способів зберігання Юнікоду. Один з популярних способів — UTF-8 .

Скільки байтів використовує текст

У тексті, що містить лише ASCII, кожен символ використовує один байт. Таким чином, слово «кіт» використовує 3 байти. Фраза «привіт, мамо» має 6 символів, включаючи пробіл, тому вона використовує 6 байтів. У простій математиці, \(\textrm{ASCII-байти} = \textrm{кількість символів}\) .

Порядок сортування за допомогою ASCII

Комп'ютери часто сортують рядки за номерами символів. Порядок ASCII групує елементи певним чином.

Це означає, що Zoo порівнюється з Apple , якщо порівнювати прості значення ASCII. Сортування відбувається за числами, а не за звучанням слів.

Поширені коди ASCII, які слід знати

Зверніть увагу, що амперсанд — це &. Його ASCII-номер — 38. Знак плюс — це 43. Знак мінус — це 45.

Реальне використання в повсякденних технологіях
ASCII-шаблони, які допомагають
Як створювати зображення за допомогою ASCII

Люди створюють зображення, використовуючи лише символи. Це називається ASCII-мистецтво . Ось крихітне обличчя, зроблене з символів ASCII.

:-) Проста посмішка
(^_^) Привітне обличчя
o_O Здивований

Кожна грань — це просто символи, такі як двокрапка, тире та дужки. Жодних кольорів чи фігур. Тільки текст.

Історія коротко, простими словами

ASCII розвинувся з телетайпів та ранніх комп'ютерів. У 1963 році було узгоджено першу версію. Вона допомагала багатьом різним машинам взаємодіяти одна з одною. Завдяки одному спільному коду, літера, така як A, означала одне й те саме число всюди. Це полегшувало надсилання повідомлень та друк тексту.

Коли ASCII недостатньо

ASCII має лише 128 елементів. Цього недостатньо для всіх мов. Він не може відображати китайську, хінді, арабську чи багато інших писемностей. Він не може відображати емодзі. Він також не може відображати багато математичних та музичних символів. Для них ми використовуємо Unicode. Unicode може відображати багато писемностей та символів. UTF-8 — це спосіб їх зберігання. Гарна новина полягає в тому, що весь текст ASCII працює в межах UTF-8. Тож сучасні системи можуть легко читати старі ASCII.

Як програми обробляють ASCII сьогодні

Більшість програм очікують UTF-8. Але коли файл містить лише літери та символи ASCII, він виглядає так само і під UTF-8. Програмістам це подобається, бо це спрощує речі. Веб-сторінки, API та багато інструментів використовують UTF-8, яка включає ASCII без змін.

Факти про малі числа та зрозуміла математика

ASCII — це 7-бітний набір. Це означає до \(2^7 = 128\) різних символів. Розширений набір з 8 бітами містить \(2^8 = 256\) елементів. Якщо ваш текст містить лише символи ASCII, і він має \(n\) символів, тоді він використовує \(n\) байтів. У крихітному повідомленні, такому як OK , \(n = 2\) . Отже, він використовує 2 байти, коли зберігається як ASCII або UTF-8.

Бачення прихованих символів

Деякі елементи ASCII виконують дії, але не друкуються. Пробіл друкує порожній символ. Але LF та CR переміщують курсор. TAB перемикається. Коли ми відкриваємо файл у спеціальному редакторі, він може відображати LF як \n. Цей символ не є частиною самого ASCII. Це спосіб, у який редактор показує вам розрив рядка.

Прості приклади, які здаються реальними
На що слід звернути увагу
Як пристрої використовують ASCII: прості кроки

Уявіть собі пристрій для друку етикеток, який друкує імена. Він зчитує імена як символи. Він перетворює кожен символ на числа ASCII. Він зберігає ці числа в пам'яті. Він друкує літери, шукаючи, як намалювати кожне число. Якщо він відповідає LF (10), він переходить до наступного рядка, перш ніж друкувати далі.

Порівняння трьох способів написання коду одного символу

Знову подивіться на символ '!'. Ми можемо записати його код трьома способами. Десятковий: 33. Двійковий: 00100001. Шістнадцятковий: 21. У математичній формі \(\;33_{(10)} = 00100001_{(2)} = 21_{(16)}\) . Кожна форма є однаковим значенням. Програми вибирають потрібну їм форму. Люди часто читають десяткову систему числення. Комп'ютери люблять двійкову. Шістнадцятковий — це скорочений спосіб читання двійкових чисел.

Чому ASCII проіснував так довго

ASCII невеликий та зрозумілий. Його створили рано. На ньому було побудовано багато інструментів та протоколів. Оскільки перші 128 кодів Unicode відповідають ASCII, цей план працює й сьогодні. Ось чому ви можете відкривати дуже старі текстові файли на новому телефоні чи ноутбуці та бачити ті самі літери.

Міні-інструкція: читання короткого файлу

Відкрийте файл із текстом Hello . Байти – це числа ASCII: 72, 101, 108, 108, 111. У двійковій системі кодування це 01001000, 01100101, 01101100, 01101100, 01101111. Додаток зчитує кожне число та малює напис Hello на екрані. Якщо наступне число дорівнює 10, він переходить на новий рядок, перш ніж намалювати більше тексту. Ось наскільки простий і стабільний цей процес.

Коли варто вибирати лише ASCII
Ключові символи, які люди часто використовують
Швидка перевірка ідей для біт з крихітними числами

Уявіть собі число 10. У двійковій системі числення це 00001010. У десятковій системі числення це десять. В ASCII 10 — це LF, переведення рядка. Це показує, як одне й те саме число можна відобразити по-різному. Значення випливає з того, як ми використовуємо це число. Якщо ми кажемо, що це код символу, то 10 означає LF. Якщо ми кажемо, що це просто підрахунок яблук, то це десять яблук. Контекст має значення.

Зводячи все це докупи ще одним прикладом

Ми надішлемо слово Sun з одного пристрою на інший. Коди: 'S' 83, 'u' 117, 'n' 110. У двійковій системі числення 83 – це 01010011, 117 – це 01110101, 110 – це 01101110. Біти передаються як сигнали ввімкнення та вимкнення. Інший пристрій перетворює біти назад у числа. Потім він перетворює цифри на літери. Він показує слово Sun. Якщо наступний код – 32, це пробіл. Якщо наступний – 33, це символ '!'. Правила залишаються незмінними щоразу. У цьому сила спільного коду.

Download Primer to continue