Вики-учебник для подготовки к ЕГЭ/Раздел Информатика/Информация и её кодирование/Кодирование текстовой информации

Материал из Letopisi.Ru — «Время вернуться домой»
Перейти к: навигация, поиск

Шаблон:Campus

Содержание

Содержательное обобщение изученного материала

Поскольку компьютер работает с числами (точнее, опять таки их кодировками), применяются числовые коды для символов – числовые кодирования. Числа при этом применяются двоичные, восьмеричные (группируя двоичные разряды по 4) и шестнадцатеричные (группируя двоичные разряды по 8).

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

Например, код Морзе по мере развития и автоматизации телеграфных аппаратов в первой половине 20-го века уже стал заменяться другими системами кодов, которые были более удобны. Так появилась система кодировки символов, у которой код каждого символа имел 7 двоичных разрядов. Это было удобно, так как одинаковая длина каждого кода упрощала конструкцию принимающего аппарата. А семь двоичных разрядов позволяли закодировать 128 различных символов, что по тем временам было весьма много.

Эта система, называемая ASCII, перекочевала и в компьютерные программы, причем применялась достаточно долго.

Важно заметить, что при кодировании необходимо различать каждую существенную особенность того объекта, который кодируется. Например, при кодировании алфавита можно не различать строчные и заглавные буквы. Но тогда при декодировании их также невозможно отличить. Поэтому при кодировании именно алфавитов коды для «больших» и «маленьких» букв разные – а это уже добавка более 30 кодов. Коды были присвоены и другим символа – например, знакам параграфа, доллара, стрелочкам и т.д.

Следующая широко распространившаяся система кодировки применялась в DOS - первой стандартной операционной системе персональных компьютеров. Для нее взяли систему ASCII и к ее кодам добавили еще один разряд – разумеется, слева. Тем самым число кодов в новой системе кодирования DOS достигло 256, а число разрядов – удобного числа 8. При этом первые 128 кодов просто перекочевали в DOS из ASCII. Вот таблица кодировок DOS (кодирования шестнадцатеричные: слева – первая цифра, сверху – вторая цифра шестнадцатеричного кода):

EGK1.jpg

Верхние строки таблицы с забавными символами в таблице кодировок DOS возникли из-за того, что в «телеграфной» таблице там стояли коды, управляющие работой именно телеграфных аппаратов. В компьютерах такие коды надо было использовать как-то по-другому – отсюда такой результат.

Нижняя половина таблицы кодировок DOS, как видим, состоит в добавочных символах алфавита (для некоторых европейских языков), символов, удобных для «сборки» рамок таблиц, символов для операций и т.д.

В дальнейшем, при смене основной операционной системы на Windows, таблицу DOS изменили на более удобную Win. При этом заменили опять-таки «дополнительные» 128 знаков, кроме того, часть кодов оставили неиспользуемыми. Причина исчезновения в кодировках Win многих специальных символов из числа кодируемых в DOS – другой принцип построения изображений в Windows. Если в DOS изображения «собирались из кусочков», то в Windows – собирались из точек. Поэтому в Windows коды «кусочков» из кодировок DOS оказались не нужны – и были убраны из кодовой таблицы.

EGK2.jpg

Поскольку основной язык в американских компьютерных программах английский, для букв русского алфавита в их кодировках места не предусматривалось (как, впрочем, и для всех остальных). Из-за этого при кодировании букв русского алфавита приходится использовать часть кодов других символов – тех, которые используются очень редко. Использование разных кодов под русские буквы привело к появлению разных систем кодировок (поскольку эти кодировки проще всего представить в виде таблиц, они и называются кодовыми таблицами). То же самое произошло и с кодировками для других языков – для них имеются свои кодовые таблицы.

Например, из английской системы кодировки DOS возникла «русская» система кодировки, называемая еще DOS Cyrillic или IBM 866. Из кодовой таблицы Win получилась таблица, называемая Win1251. В ней, по сравнению с Win, заменены коды следующих символов (номера кодов даются десятичные):

EGK3.jpg

Имеется и другая широко используемая кодовая таблица, применимая к русскому языку, называемая KOI-8. В ней буквы русского алфавита имеют следующие десятичные коды:

EGK4.jpg

Кодировка KOI-8 является стандартной при передаче данных по сети Интернет.

Как правило, системы для просмотра и обработки документов имеют средства для перекодирования данных из одой системы кодировки в другую.

Для многих целей кодировать только алфавит недостаточно. Например, текст всегда напечатан каким-то шрифтом, имеющим свое специфическое начертание. Для того, чтобы при декодировании этот шрифт воспроизвести правильно, необходимо его особенности закодировать. Обычно кодируется номер таблицы шрифтов – в этой таблице буква уже имеет свое начертание. Количество шрифтов в современной системе обработки текстов может достигать сотен и тысяч.

Размер шрифта или, как говорят, кегль, также необходимо кодировать. Кегли имеют свои стандартные номера, так что их кодирование проблем не представляет. Сочетание кодов: кодовая таблица – код символа – код шрифта – код кегля дает огромное количество используемых для набора текста вариантов.

Наконец, что делать, если кодов много и все коды – числовые? Как различать, где и какие конкретные кодирования применены? Конечно, один вариант - пытаться разбираться по той задаче, которая решается (для каждой задачи какое-то конкретное кодирование).

Другой путь – кодировать сами кодирования! Например, у каждого числа-кода предусмотреть, что первые две цифры – это номер кодирования, а следующие – уже сам код (в этом кодировании). Например, 10 – кодирование шрифта КОИ-8, 11 – кодирование шрифта Windows, 12 – 8-битный код цвета и т.д. Такие коды для кодовых таблиц называются тэгами. Тэги снова могут собираться в таблицы соответствий …

Материал для изучения

Рекомендуемые ссылки

Список литературы


Назад

Назад к разделу Вики-учебник для подготовки к ЕГЭ/Раздел Информатика

Персональные инструменты
Инструменты