Кодування текстової інформації.
Визначення обсягу текстового файлу.
Велика частина ПК в світі зайнята обробкою текстової інформації.
Кодування полягає в тому, що кожному символу ставиться у відповідність унікальний двійковий код. Людина розрізняє символи за їх зображенню, а комп'ютер - по їх коду.
Спочатку в ЕОМ використовувався лише латинський алфавіт - 26 букв (символів).
Для кодування двійковим кодом 26 символів (минулий урок) буде потрібно виділяти 5 біт на кожен символ (5 бітове кодування).
Але в тексті зустрічаються не тільки малі, а й великі літери (символи), а також десяткові цифри. Значить кількість кодованих символів буде більше:
Kсімв = 26 + 26 + 10 = 62 [символу]
Для кодування двійковим кодом 62 символів потрібно 6 біт на символ (6 бітове кодування).
Тому в перших англомовних комп'ютерах байт - машинний склад - включав шість бітів.
З точки зору ЕОМ текст також містить знаки пунктуації, спеціальні символи типу "=", "(", "", пробіл і т.п. символи псевдографіки і коди управління принтерами, сигнальними лампочками і іншим устаткуванням.
Для кодування усієї цієї кількості символів потрібно 7 бітове кодування (128 символів).
З урахуванням кодування символів національних мов, наприклад російського, необхідно як мінімум 8 бітове кодування.
Таким чином виникло поняття БАЙТ, як набір БІТ, мінімально необхідний для кодування одного машинного символу.
При 8-бітному кодуванні потужність алфавіна (число символів в алфавіті) дорівнює 256.
Відповідність символу коду відображено в кодової таблиці.
При натисканні клавіші на клавіатурі (пристрій введення або кодування інформації) формується двійковий код відповідно до якого по кодової таблиці на екрані монітора відображається накреслення символу.
В даний час існують п'ять різних кодових таблиць для російських букв (Windows, MS-DOS, ЯКІ-8, Mac, ISO) тому тексти, створені в одному кодуванні, що не будуть правильно відображатися в іншій. Для різних типів ЕОМ використовуються різні таблиці кодування. З поширенням персональних комп'ютерів типу IBM PC міжнародним стандартом стала таблиця кодіровкіASCII (American Standart Code for Information Interchange) - американський стандартний код для інформаційного обміну в якій:
- Перші 33 коду (з 0 по 33) відповідають не символ, а операціями (введення пробілу, переклад рядка і т.д.);
- Коди з 33 по 127 є інтернаціональними і відповідають символам латинського алфавіту, цифрам, знакам арифметичних операцій та знаків пунктуації;
- Коди з 128 по 255 є національними, тобто в різних національних кодуваннях одного й того ж коду відповідають різні символи.
У сучасних комп'ютерах використовують 16 бітове кодування (unicode) що дозволяє закодувати 65536 символів.
У пам'яті комп'ютера будь-який текст представляється послідовністю кодів всіх символів, що складають текст.
Щоб знайти інформаційний обсяг тексту (Vтф) потрібно помножити кількість символів в тексті (Kсімв) на обсяг одного символу (V1с):
Vтф = Kсімв * V1с
Визначте інформаційний обсяг тексту
Бамбарбія! Кергуду!
при 8 бітному кодуванні
Кількість символів в тексті визначимо простим перерахуванням, пам'ятаючи, що пробіл теж символ.
Рішення:
1. Обсяг текстового файлу визначаємо за формулою:
Vтф = Kсімв * V1с
Vтф = 19 * 8 = 152 [Біт]
Біти необхідно перевести в байти:
152 [Біт] = 152. 8 = 19 [Байт]
Відповідь: 19 байт
Автоматичний пристрій здійснило перекодування інформаційного повідомлення російською мовою, спочатку записаного в 16-бітному коді Unicode, в 8-бітну систему кодування КОИ-8. При цьому інформаційне повідомлення зменшилася на 480 біт. Яка довжина повідомлення в символах?
Рішення:
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 символів
Домашнє завдання
1 Вважаючи, що кожен символ кодується одним байтом, визначте, чому дорівнює інформаційний обсяг наступного висловлювання Жан-Жака Руссо:
Тисячі шляхів ведуть до омани, до істини - тільки один.
2 В кодуванні Unicode на кожен символ відводиться два байти. Визначте інформаційний обсяг повідомлення з двадцяти чотирьох символів в цьому кодуванні.
3 Автоматичний пристрій здійснило перекодування інформаційного повідомлення російською мовою, спочатку записаного в 16-бітному коді Unicode, в 8-бітну систему кодування КОИ-8. При цьому інформаційне повідомлення зменшилася на 800 біт. Яка довжина повідомлення в символах?
4 Досьє на співробітників після 16 бітного кодування займають 8 Mb. Кожне з них містить 16 сторінок (32 рядки по 64 символу в рядку). Скільки співробітників в організації?
5 Потужність алфавіту дорівнює 256. Скільки Кбайт пам'яті буде потрібно для збереження 160 сторінок тексту, що містить в середньому 192 символу на кожній сторінці?
6 Обсяг текстового файлу 640 Kb. Файл містить книгу, яка набрана в середньому по 32 рядки на сторінці і по 64 символу в рядку. Скільки сторінок в книзі при 8 бітному кодуванні?
7 Обсяг повідомлення дорівнює 7,5 Кбайт. Відомо, що дане повідомлення містить 7680 символів. Яка потужність алфавіту?
тренувальні завдання
1 Вважаючи, що кожен символ кодується одним байтом, визначте, чому дорівнює інформаційний обсяг наступного висловлювання Олексія Толстого:
Не помиляється той, хто нічого не робить, хоча це і є його основна помилка.
2 Вважаючи, що кожен символ кодується одним байтом, визначте, чому дорівнює інформаційний обсяг наступного висловлювання Рене Декарта:
Я мислю, отже, існую.
3 Вважаючи, що кожен символ кодується 16-ма бітами, оцініть інформаційний обсяг наступної пушкінської фрази в кодуванні Unicode:
Звичка понад нам дана: Заміна щастя вона.
4 Вважаючи, що кожен символ кодується одним байтом, оцініть інформаційний обсяг наступного речення з пушкінського чотиривірші:
Співак-Давид був ростом малий, Але повалив ж Голіафа!
5 Вважаючи, що кожен символ кодується одним байтом, оцініть інформаційний обсяг наступного речення:
Мій дядько самих чесних правил, Коли не в жарт занедужав, Він поважати себе примусив І краще вигадати не міг.
6 Автоматичний пристрій здійснило перекодування інформаційного повідомлення російською мовою, спочатку записаного в 8-бітному коді, в 16-бітну систему кодування Unicode. При цьому інформаційне повідомлення збільшилася на 2048 байт. Який був інформаційний обсяг повідомлення до перекодування?
7 Вважаючи, що кожен символ кодується 16-ма бітами, оцініть інформаційний обсяг наступної фрази в кодуванні Unicode:
У шести літрах 6000 мілілітрів.
8 Вважаючи, що кожен символ кодується 16-ма бітами, оцініть інформаційний обсяг наступного речення:
Блажен, хто вірує, тепло йому на світі!
9 Вважаючи, що кожен символ кодується одним байтом, оцініть інформаційний обсяг наступного речення:
Біліє Парус Одинокий В Тумані Моря Блакитному!
10 Автоматичний пристрій здійснило перекодування інформаційного повідомлення російською мовою, спочатку записаного в 16-бітному коді Unicode, в 8-бітну систему кодування КОИ-8. При цьому інформаційне повідомлення зменшилася на 160 біт. Яка довжина повідомлення в символах?
11 Автоматичний пристрій здійснило перекодування інформаційного повідомлення російською мовою довжиною 8 символів, спочатку записаного в 16-бітному коді Unicode, в 8-бітну систему кодування КОИ-8. На скільки змінився інформаційний обсяг повідомлення?
12 Автоматичний пристрій здійснило перекодування інформаційного повідомлення російською мовою, спочатку записаного в 16-бітному коді Unicode, в 8-бітну систему кодування КОИ-8. При цьому інформаційне повідомлення зменшилася на 240 біт. Яка довжина повідомлення в символах?
13 Автоматичний пристрій здійснило перекодування інформаційного повідомлення російською мовою довжиною в 20 символів, спочатку записаного в 16-бітному коді Unicode, в 8-бітну систему кодування КОИ-8. На скільки змінився інформаційний обсяг повідомлення?
15 Обсяг повідомлення дорівнює 11 Кбайт. Повідомлення містить 11264 символу. Яка потужність алфавіту?