2.4: Коди фіксованої довжини і змінної довжини
- Page ID
- 29864
Рішення, яке повинно бути прийнято дуже рано в розробці коду, полягає в тому, чи представляти всі символи кодами однакової кількості бітів (фіксованої довжини) або дозволити деяким символам використовувати коротші коди, ніж інші (змінна довжина). Є переваги у обох схем.
Коди фіксованої довжини, як правило, легше мати справу, оскільки і кодер, і декодер заздалегідь знають, скільки бітів задіяно, і це лише питання встановлення або читання значень. При кодах змінної довжини декодеру потрібен спосіб визначити, коли закінчується код для одного символу, а починається наступний.
Коди фіксованої довжини можуть підтримуватися паралельною передачею, в якій біти передаються від кодера до декодера одночасно, наприклад, за допомогою декількох проводів для перенесення напруг. Цей підхід повинен контрастувати з послідовним транспортом закодованої інформації, при якому один провід посилає потік бітів, а декодер повинен вирішити, коли закінчуються біти для одного символу, а біти для наступного символу починаються. Якщо декодер змішується або дивиться на потік бітів після його запуску, він може не знати. Це називається «помилкою кадрування». Щоб усунути помилки кадрування, стоп-біти часто надсилаються між символами; зазвичай ASCII, що надсилається по послідовних лініях, має 1 або 2 стоп-біти, зазвичай враховуючи значення 0. Таким чином, якщо декодер знаходиться поза кроком, він врешті-решт знайде 1 в тому, що він припускав, що повинен бути стоп-бітом, і він може спробувати повторно синхронізувати. Хоча теоретично помилки обрамлення можуть зберігатися протягом тривалого періоду часу, на практиці використання стоп-бітів працює добре.
