Page 128 - 4496
P. 128
4.1.8 Метод зонного стиснення
Даний метод спеціально пристосований до стиснення
текстових даних, і тому він лежить в основі алгоритмів роботи
програм-архіваторів.
Можливість значного стиснення текстових даних
випливає з того, що за допомогою одного байту можна
утворити двійкові еквіваленти для 256 знаків, але реальні
алфавіти разом з цифрами та розділовими знаками найчастіше
не перевищують 60 знаків.
Зонне стиснення базується на тому, що знаки тексту
подають у допоміжному алфавіті, що складається з 16 знаків.
Для утворення двійкових еквівалентів знаків допоміжного
алфавіту достатньо півбайту. При цьому для подання кожного
знаку алфавіту тексту потрібно буде два знаки допоміжного
алфавіту.
Прикладом цього може бути подання кодів ASCII у
системі числення з основою 16. Наприклад: "г" - A3, "т" - E2,
"л" - AB. Тут для подання кожного із 256 знаків табліці ASCII
використовується по два знаки алфавіту 0..9, A..F.
Із усього 16-значного допоміжного алфавіту певну
кількість знаків вибирають для кодування знаків алфавіту
тексту, а решту знаків використовують для кодування зони, в
якій вони знаходяться.
Приклад 1. Припустимо, що до складу алфавіту тексту
входять 27 знаків, в тому числі знак "пропуск" та літери
латинського алфавіту "a".."z". Тоді для кодування зон можна
вибрати два знаки допоміжного алфавіту "E" і "F", а інші 14
знаків "0".."9", "A".."D" застосувати для кодування алфавіту
тексту. Такий розподіл дає можливість отримати 2 14 = 28
варіантів, що цілком достатньо для кодування. При цьому
знаки алфавіту тексту розбиваються на дві зони, наприклад:
зона "E" включає знак "пропуск" та літери "a".."m", зона "F"
включає літери "n".."z". Знаки зони "E" кодуються E0, E1,
E2,..., EC, ED, знаки зони "F" кодуються F0, F1, F2,..., FB, FC.
Приклад 2. Для кодування зон виберемо три знаки
допоміжного алфавіту "D", "E" і "F". Тоді інші 13 знаків
можуть бути застосовані для кодування алфавіту тексту.
Такий розподіл дає можливість отримати 3 13 = 39 варіантів,
що може бути достатнім для кодування літер українського
алфавіту та розділових знаків.
125