Кодировка символов

Кодировка символов

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 не включает в себя символы французского, немецкого, русского, арабского и китайского языков – на них не хватило места.

DEC – десятичное представление числа, HEX – шестнадцатеричное

Для примера, отправим 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.
Количество единиц означает количество дополнительных байтов.

Первая строчка подходит для ASCII – значение 0.

UTF-8 – современный мировой стандарт кодировки, она используется в интернете и unix-системах: Mac OS, Ubuntu, Debian.


Следующая статья – обобщение всех предыдущих.
Опишем работу компонентов компьютера, как единого целого.

Report Page