- •2.11.1. Кодирование текстовой информации
- •2.11.2. Кодировка ascii
- •2.11.3. Кодировки кои-8 и Windows-1251
- •2.11.4. Кодировка unicode
- •2.12.1. Общие подходы к компьютерному представлению графической и звуковой информации
- •2.12.2. Растровая и векторная графика
- •2.12.3. Представление цветов в компьютере
- •2.12.4. Звук
- •2.12.5. Понятие звукозаписи
- •2.12.6. Импульсно-кодовая модуляция
- •2.12.7. Формат midi
- •2.12.8. Принципы компьютерного воспроизведения звука
2.11.1. Кодирование текстовой информации
Всякий текст состоит из символов — букв, цифр, знаков препинания, которые человек различает по начертанию. Для компьютерного представления текстовой информации используется другой способ: все символы кодируются числами, и текст представляется в виде набора чисел — кодов символов. При выводе текста на экран монитора или принтер необходимо восстановить изображения всех символов, составляющих данный текст. Для этого используются так называемые кодовые (кодировочные) таблицы, в которых каждому коду ставится в соответствие изображение символа.
В программировании наиболее часто используются однобайтовые кодировки, в которых код каждого символа занимает ровно 1 байт (или 8 бит). Общее количество различных символов в таком случае составляет 256.
2.11.2. Кодировка ascii
Наиболее распространенной системой байтового кодирования является система (таблица) ASCII (American Standard Code for Information Interchange — американский стандартный код для обмена информацией), созданная в 1963 году.
В своей первоначальной версии это система семибитного кодирования. Она ограничивалась одним естественным алфавитом (английским), цифрами и набором различных символов, включая «символы пишущей машинки» (привычные знаки препинания, знаки математических действий и др.) и «управляющие символы». В следующей версии фирма IBM перешла на расширенную 8-битную кодировку.
В таблице ASCII всего 256 позиций. Каждому двоичному коду от 0 до 255 в таблице ставится в соответствие один символ. Сама таблица делится на две части. Первая часть с 0-го по 127-й символ называется основной таблицей ASCII и является неизменной для всех стран. Первые 32 символа в основной таблице являются управляющими. Среди них есть символы, не имеющие изображения, например, «подача стандартного звукового сигнала» (код 7), «перевод строки» (код 10) и т.п. Другие символы основной таблицы являются «изображаемыми». Начиная с 33-его (пробела с кодом 32) по 127 символ в таблице закодированы знаки препинания, цифры и английские буквы – как строчные, так и заглавные.
Таблица ASCII — первая неизменная часть:
Вторая часть – до 255-го символа – называется расширенной таблицей ASCII, она уникальна для каждой страны, так как в этой части хранятся символы, специфичные для этой страны, например буквы национального алфавита. Причем даже в одной и той же стране расширенная часть кодировочной таблицы может быть разной, в зависимости от производителя программного обеспечения.
Пример второй части кодовой таблицы для русской кодировки СР-866:
2.11.3. Кодировки кои-8 и Windows-1251
Для русского языка наиболее распространенными являются однобайтовые кодовые таблицы СР-866, Windows-1251 и КОИ-8. В них первые 128 символов совпадают с ASCII-кодировкой, а русские буквы размещены во второй части таблицы, однако коды русских букв в этих кодировках различны. Сравните, например, кодировки КОИ-8 (код обмена информацией 8-битовый, международное название koi-8r) и Windows-1251, вторые половины которых приведены в таблицах.
Несовпадение кодовых таблиц приводит к тому, что текст, набранный в одной кодировке, будет нечитабельным в другой.
Вот так будет выглядеть десятичный код слова «Диск» в разных кодировках:
КОИ-8 |
228 201 211 203 |
Windows-1251 |
196 232 241 234 |
СР-866 |
132 168 225 170 |
