Вспомним, что любая информация в компьютере кодируется последовательностью нулей и единиц. Текстовая информация не является исключением.
Компьютер воспринимает текст как последовательность символов (буквы, цифры, знаки и специальные символы). Алфавиты разных языков мира, содержат множество различных и повторяющихся символов. Для удобства их хранения, были введены единые таблицы кодировки.
При данном способе кодирования, каждому символу алфавита ставится в соответствие 8 двоичных символов и выделяют для хранения 8 бит (1 байт). Так, символ занимает одну ячейку памяти компьютера.
При таком способе можно закодировать 28 = 256 символов.
Таблица состоит из трёх частей:
В зависимости от операционной системы, применяются различные кодировочные таблицы для русского языка.
» Windows-1251 (CP-1251);
» KOI8;
» MacCyrillic.
При восьмибитном кодировании возможно включить в таблицу только 256 символов, а хранить множество различных кодировок – неудобно.
Решить данную проблему позволяет стандартизированная кодировочная таблица Unicode. При данном способе, для хранения одного символа выделяют две ячейки памяти (2 байта), что соответствует 216 = 65 536 символам.
Как правило, коды символов в таблицах кодировки записываются в десятичном или шестнадцатеричном виде. Для определения двоичного кода необходимо перевести данное значение в двоичную систему счисления.
Пример. В кодировке Unicode слово «Эра» кодируется следующей последовательностью шестнадцатеричных кодов: Э – 042D, р – 0440, а – 0430. Представим двоичный код данного слова.
42D16 = 100 0010 11012
44016 = 100 0100 00002
43016 = 100 0011 00002
0000010000101101 | 0000010001000000 | 00000100001100002
При данном способе кодирования изображение разбивается на равные фрагменты.
Пример.
Дано двуцветное изображение. Обозначим белый цвет как «0», серый – «1».
Последовательно записывая единицы и нули, мы получим его двоичный код.
Поскольку изображение состоит из двоичных символов, а один такой символ весит 1 бит, то вес всего изображения можно вычислить, подсчитав количество точек изображения и умножив это значение на вес одной точки.
В общих случаях, для измерения веса 1 точки изображения, используют формулу:
N – количество цветов в палитре;
i – глубина цвета (вес одной точки).
Для вычисления веса изображения используют формулу:
I – вес изображения;
K – количество точек изображения;
i – глубина цвета.
Самостоятельная работа. Повторите тему "Базовые алгоритмические конструкции"(видео к уроку).
1. Пользуясь таблицей кодировки ASCII и CP-1251 закодируйте следующие послания:
а) Чек д) 2D
б) хор е) LoL
в) дрон ж) Jump
г) Круп з) MacOS
2. В некоторой кодировке для хранения одного символа отводится 2 байта. Определите вес слова из двадцати двух символов в данной кодировке.
3. В кодировке КОИ-8 для хранения одного символа отводится 1 байт. Определите вес (в битах) слова «дезоксирибонуклеиновая».
4. Некоторый текст записан в различных кодировках. Известно, что текс в 16-битной кодировке Unicode, на 120 бит больше текста, закодированного 8-битной кодировкой CP-1251. Определите количество символов в тексте.
5. В кодировке Unicode для хранения одного символа отводится 16 бит. Дан отрывок текста, записанного в данной кодировке:
«Калининград, Ярославль, Владимир, Елабуга, Троицк, Томск, Омск, Уфа – города России».
В результате редактирования текста, одно слово и ставшие лишними пробелы и запятые удалили. Новый текст стал на 14 байт меньше. Определите удалённое слово.
6. Текст, напечатанные на компьютере занял несколько страниц. Каждая страница текста состоит из 60 строк по 30 символов в строке. Файл с данным текстом занимает в компьютере 225 Кбайт. Сколько страниц содержит данный текст, если известно, что он закодирован в Unicode.
7. В кодировке Windows-1251 каждый символ кодируется 8 бит. Вова хотел написать текст (в нём нет лишних пробелов):
«Скользя по утреннему снегу,
Друг милый, предадимся бегу
Нетерпеливого коня
И навестим поля пустые…»
Одно из слов ученик написал два раза подряд через пробел. При этом размер написанного предложения в данной кодировке оказался на 10 байт больше, чем размер нужного предложения. Напишите в ответе лишнее слово.
9. В кодировке КОИ-8 каждый символ кодируется 8 бит. Вова хотел написать текст (в нём нет лишних пробелов):
«Скользя по утреннему снегу,
друг милый, предадимся бегу
нетерпеливого коня и навестим поля пустые…»
Одно из слов ученик написал два раза подряд через пробел. При этом размер написанного предложения в данной кодировке оказался на 14 байт больше, чем размер нужного предложения. Напишите в ответе лишнее слово.
10. Растровое изображение размером 512х720 пикселей занимает 90 Кбайт памяти. Определите количество цветов в палитре, с помощью которой было закодировано данное изображение.
11. Монитор поддерживает 16-цветовую палитру и вмещает изображение размером 480х640 пикселей. Определите объём видео памяти, необходимый для хранение полноформатного изображения исходя из особенностей данного монитора. Ответ дайте в килобайтах.
12. Определите объём видеопамяти, необходимый для хранения изображения 1024х768 пикселей с палитрой 16 777 216 цветов.
13. Чёрно-белый графический файл (без градаций серого цвета) имеет размер 100х100 пикселей. Определите его информационный объём.
14. Страница видеопамяти составляет 16 000 байт. Дисплей работает в режиме 320х400 пикселей. Сколько цветов в данной палитре?
15. Чёрно-белый графический файл с 32 градациями серого цвета имеет размер 64х32 пикселя. Какое максимально возможное число таких файлов можно записать на флеш-носитель ёмкостью 1024 Кбайта?