ASCII, символи: опис, таблиця кодів і види

ASCII, символи: опис, таблиця кодів і види

Як відомо, комп 'ютер зберігає інформацію в двійковому вигляді, представляючи її як послідовність одиниць і нулів. Щоб перевести інформацію в форму, зручну для людського сприйняття, кожна унікальна послідовність цифр під час відображення замінюється на відповідний символ.

Однією з систем співвіднесення бінарних кодів з друкованими та керуючими символами є кодування ASCII.


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

Створення ASCII

У початковому вигляді кодування було розроблено в 1963 році і потім протягом 25 років двічі оновлювалося.

У вихідному варіанті таблиця символів ASCII включала 128 символів, пізніше з 'явилася розширена версія, де перші 128 знаків були збережені, а кодам з задіяним восьмим битом поставлені у відповідність відсутні раніше символи.

Протягом багатьох років це кодування було найпопулярнішим у світі. У 2006 році провідне місце зайняла Latin 1252, а з кінця 2007 року по теперішній час лідируючу позицію міцно тримає Юнікод.

Символами керування називаються знаки, які не мають графіки та використовуються для організації тексту, керування пристроями тощо. Вони можуть позначати початок або кінець тексту, табуляцію, генерацію звукового сигналу, різні операції для роботи з телетайпу (телетайп - машина для передачі даних по електричному каналу), роздільну здатність виводу даних на пристрої, скасування дії тощо.

У таблиці символів ASCII позиції з 0 по 31, а також 127 виділено під знаки керування. Всього таких знаків 33.


Інші символи

Решта 95 позицій відведені під знаки перепинання і знаки математичних операцій, десяткові цифри, букви латинського алфавіту, що розрізняються регістром: "А" прописною і "а" рядковою відповідають різні коди в таблиці символів ASCII.

Номери символів у таблиці

Якщо людина займається розробкою програмного забезпечення або виконує деякі інші завдання з області інформаційних технологій, їй необхідно знати номери ряду символів ASCII.

Як згадувалося вище, позиції 0-31 і 127 займають керуючі символи. Номер 32 закріплений за прогалиною, номери 33-47 та 58-64 відведені під знаки перепинання та основні математичні операції.

Латинські прописні літери розташовані за алфавітом і мають номери з 65-го по 90-й. Рядкові літери також розташовані за алфавітом, їхні позиції - з 97-ї по 122-у. Решта номерів (91-96 і 123-126) закріплені за квадратними і фігурними дужками, косою і прямою рисою, а також деякими діакритичними знаками.

Повну таблицю символів у зручному перегляді можна побачити на зображенні, представленому вище. На малюнку нижче демонструються номери знаків у російській таблиці символів ASCII.

Розширена ASCII

Оскільки вихідний варіант кодування розроблявся в розрахунку на американського користувача, в ньому не були передбачені не тільки різні види писемності і національні алфавіти, але навіть зручне використання діакритичних знаків, що активно вживаються в європейських мовах.

Для формування розширеного кодування був задіяний 8-й біт. Дана версія включає в себе символи національних європейських алфавітів і фонетичної транскрипції, елементи графіки, що використовувалися для малювання таблиць, ряд математичних знаків.


Деякі ASCII-символи сьогодні використовуються рідко. Зокрема, це стосується знаків, що служать для малювання таблиць, оскільки за роки, що минули з моменту розробки розширеного кодування, були впроваджені набагато більш зручні способи графічного представлення таблиць.

Національні кодування

До появи розширеного варіанту ASCII для відображення національних алфавітів використовувалися перероблені версії кодування, де на місці латинських букв розташовувалися російські, грецькі, арабські символи.

Два коди в таблиці були відведені під перемикання між стандартною US-ASCII і її національним варіантом.

Після того як ASCII стала включати не 128, а 256 знаків, поширення отримав варіант кодування, при якому вихідна версія таблиці була збережена в перших 128 кодах з нульовим 8-м битом. Знаки національної писемності зберігалися у верхній половині таблиці (128-255-та позиції).

Знати безпосередньо коди символів ASCII користувачеві не потрібно. Розробнику програмного забезпечення зазвичай достатньо знати номер елемента в таблиці, щоб при необхідності розрахувати його код, використовуючи бінарну систему.


Російська мова

Після розробки на початку 70-х років кодувань для скандинавських мов, китайської, корейської, грецької та ін., створенням власного варіанту зайнявся і Радянський Союз. Незабаром був розроблений варіант 8-бітного кодування під назвою КОИ8, що зберігає перші 128 кодів символів ASCII і виділяє стільки ж позицій під букви національного алфавіту і додаткові знаки.

До впровадження Юнікода КОИ8 домінувала в російському сегменті інтернету. Існували варіанти кодування як для російської, так і для української абетки.

Проблеми ASCII

Оскільки кількість елементів навіть у розширеній таблиці не перевищувала 256, можливість вміщення в одне кодування декількох різних писемностей була відсутня. У 90-ті роки в Рунеті з 'явилася проблема "крокозябр", коли тексти, набрані російськими символами ASCII, відображалися некоректно.

Проблема полягала у невідповідності кодів різних варіантів ASCII один одному. Згадаймо, що на позиціях 128-255 могли розташовуватися різні знаки, і при зміні одного кириличного кодування на іншу всі букви тексту замінювалися на інші, що мають ідентичний номер в іншій версії кодування.

Поточний стан

З появою Юнікода популярність ASCII різко пішла на спад.


Причина цього криється в тому факті, що нове кодування дозволило вмістити знаки майже всіх письмових мов. При цьому перші 128 символів ASCII відповідають тим же символам в Юнікоді.

У 2000-му ASCII була найпопулярнішим кодуванням в інтернеті і використовувалася на 60% проіндексованих "Гуглом" веб-сторінок. Вже до 2012 року частка таких сторінок впала до 17%, а місце найпопулярнішого кодування зайняв Юнікод (UTF-8).

Таким чином, ASCII є важливою частиною історії інформаційних технологій, однак її використання надалі бачиться малоперспективним.