Определение объёма текстовой информации
Большая часть ПК в мире занята обработкой текстовой информации. Кодирование заключается в том, что каждому символу ставится в соответствие уникальный двоичный код. Человек различает символы по их начертанию, а компьютер - по их коду.
Первоначально в ЭВМ использовался лишь латинский алфавит - 26 букв (символов). Для кодирования двоичным кодом 26 символов (прошлый урок) потребуется выделять 5 бит на каждый символ (5 битное кодирование).
Но в тексте встречаются не только строчные, но и прописные буквы (символы), а также десятичные цифры. Значит количество кодируемых символов будет больше:
Kсимв = 26 + 26 + 10 = 62 [символа]
Для кодирования двоичным кодом 62 символов потребуется 6 бит на символ (6 битное кодирование). Поэтому в первых англоязычных компьютерах байт - машинный слог - включал шесть битов.
С точки зрения ЭВМ текст также включает знаки препинания, спецсимволы типа "=", "(", "&", пробел и т.п., символы псевдографики и коды управления принтерами, сигнальными лампочками и прочим оборудованием. Для кодирования всего этого количества символов требуется 7 битное кодирование (128 символов). А с учетом кодирования символов национальных языков, например русского, необходимо как минимум 8 битное кодирование.
Таким образом возникло понятие БАЙТ, как набор БИТ, минимально необходимый для кодирования одного машинного символа.
При 8-битном кодировании мощность алфавита (число символов в алфавите) равна 256. Соответствие символа коду отображено в кодовой таблице.
При нажатии клавиши на клавиатуре (устройство ввода или кодирования информации) формируется двоичный код в соответствии с которым по кодовой таблице на экране монитора отображается начертание символа.
В настоящее время существуют множество различных кодовых таблиц(или кодировок) для русских букв, поэтому тексты, созданные в одной кодировке, не будут правильно отображаться в другой. Для разных типов ЭВМ используются различные таблицы кодировки. С распространением персональных компьютеров типа IBM PC международным стандартом стала таблица кодировки ASCII (American Standart Code for Information Interchange) – американский стандартный код для информационного обмена в которой:
- Первые 33 кода (с 0 по 33) соответствуют не символам, а операциям (ввод пробела, перевод строки и т.д.);
- Коды с 33 по 127 являются интернациональными и соответствуют символам латинского алфавита, цифрам, знакам арифметических операций и знакам препинания;
- Коды с 128 по 255 являются национальными, т.е. в разных национальных кодировках одному и тому же коду соответствуют различные символы.
В современных компьютерах используют 16 битное кодировании (unicode) что позволяет закодировать 65536 символов. В памяти компьютера любой текст представляется последовательностью кодов всех символов, составляющих текст.
Чтобы найти информационный объем текста (Vтф ) нужно умножить количество символов в тексте (Kсимв ) на объем одного символа (V1с ):
Задача 1
Определите информационный объем текста
Бамбарбия! Кергуду!
при 8 битном кодировании. Количество символов в тексте определим простым пересчетом, помня, что пробел тоже символ.
Дано:
V1с = 8[Бит]
Kсимв = 19
Vтф = ?
Решение:
1. Объем текстового файла определяем по формуле:
Vтф = 19 * 8 = 152 [Бит]
Биты необходимо перевести в байты:
152 [Бит] = 152 : 8 = 19 [Байт]
Ответ: 19 байт
Задача 2
Автоматическое устройство осуществило перекодировку информационного сообщения на русском языке, первоначально записанного в 16-битном коде Unicode, в 8-битную кодировку UTF-8. При этом информационное сообщение уменьшилось на 480 бит. Какова длина сообщения в символах?
Дано:
V1с.2 = 16[Бит]
V1с.2 = 8[Бит]
Vтф.1 - Vтф.2 = 480
Kсимв = ?
Решение:
1. Объем текстового файла 1 определяем по формуле:
Vтф.1 = Kсимв * V1с.1
2. Объем текстового файла 2 определяем по формуле:
Vтф.2 = Kсимв * V1с.2
3. Определим разность объемов:
Vтф.1 - Vтф.2 = Kсимв * V1с.1 - Kсимв * V1с.2
4. Kсимв выносим за скобки
Kсимв * (V1с.1 - V1с.2) = 480
5. Значит можно определить количество символов
Kсимв = 480 : (V1с.1 - V1с.2)
Kсимв = 480 : (16 - 8) = 60
Ответ: 60 символов