Кодировка символов
XalionКомпьютеры понимают только двоичный код, а мы видим на мониторе преобразованный двоичный код.
Такие преобразования происходят при помощи таблиц кодировок.
Они хранят уникальные значения для каждого символа, как азбука.
Вот простой пример кодировки информации: 19 16 2 1 12 1 – собака.
На 2018 год, существуют три мировых стандарта: ASCII, Unicode и UTF-8.
American Standard Code for Information Interchange – американский стандартный код для обмена информацией.
Всего ASCII кодирует 128 символов: специальные символы, цифры и буквы английского алфавита, строчные и заглавные.
На один символ 7 битов и один проверочный. 2^7 = 128.
ASCII не включает в себя символы французского, немецкого, русского, арабского и китайского языков – на них не хватило места.
Для примера, отправим e–mail.
1. Ставим символ начала заголовка, код в таблице – 1.
2. Пишем заголовок.
3. Ставим символ начала текста, код в таблице – 2.
4. Пишем текст.
5. Ставим символ конца текста, код в таблице – 3.
6. Ставим символ конца передачи. Он указывает о завершении передачи. Код в таблице – 4.
Из-за нехватки символов, таблицы начали расширяться до двух байтов.
Unicode кодирует 65 536 символов, 2^16 = 65 536. Это в 512 раз больше, чем в ASCII.
Первые 128 символов – символы ASCII, символы со 128 по 256 – Latin-1, остальные – языковые блоки. Весь список тут.
Latin-1 – расширение кодировки ASCII с добавлением латинских букв.
UTF-8 – улучшенная версия Unicode. Она кодирует два миллиарда символов: 2^31 = 2 147 483 648.
Символы кодируются значением от 1 до 4 байтов, зависит от кода символа:
Коды ASCII кодируются одним байтом.
Символы с кодами от 128 кодируются двумя байтами.
Символы с кодами от 2048 – тремя байтами.
Остальные 65536 – четырьмя байтами.
Для символов не входящих в набор ASCII первый бит в первом байте устанавливается в 1.
Количество единиц означает количество дополнительных байтов.
UTF-8 – современный мировой стандарт кодировки, она используется в интернете и unix-системах: Mac OS, Ubuntu, Debian.
Следующая статья – обобщение всех предыдущих.
Опишем работу компонентов компьютера, как единого целого.