Я читал, что есть6-битная кодировка символови задавался вопросом, будет ли 5-битное кодирование полезным или будет ли оно считаться улучшением в некоторых случаях.
Думаю, я нашел способ добиться этого, осталось только написать соответствующий код для кодирования/декодирования текста из 8-битного в 5-битный и наоборот.
решение1
Старый код Бодо, используемый с телетайпом, использовал 5 бит данных. Он позволял отправлять и получать текст по телеграфной системе и печатать на устройстве, похожем на пишущую машинку. Он был впервые представлен в 1840-х годах и все еще широко использовался в 1970-х годах. Для последовательной связи были добавлены 2 начальных бита и конечный бит.
5-битный код обеспечивал только 32 комбинации. Для поддержки буквенных символов, а также цифр и символов использовались 2 режима. В буквенном режиме использовался алфавит, а в цифровом — цифры и символы. Символы для пробела, возврата каретки, перевода строки и переключения режимов были общими для обоих. Символы нижнего регистра не поддерживались.
5-битный код использовался, потому что его было просто реализовать в механическом устройстве, и он эффективно использовал медленную систему передачи. Его полезность сомнительна в настоящее время, но он может быть полезен для очень специальных целей. Но любые преимущества должны быть тщательно взвешены с учетом ограничений.
решение2
Да, 5-битное кодирование полезно в некоторых случаях. Особенно в ограниченных средах, просто подумайте о старом игровом оборудовании (например, NES) или передаче данных по сети.
Когда набор символов небольшой, строки могут быть закодированы в битовом потоке, который упаковывает 5 бит на символ вместо 8 бит на символ. Это приводит к уменьшению размера данных. Вы сжимаете данные, используя кодировку с фиксированной длиной бит. Конечно, вы торгуете "сжатыми данными" против "большей скорости обработки" из-за необходимости "кодировать/декодировать".
Использование 5 бит позволяет данным иметь значения в диапазоне 0-31 ($00-$1F). Вы можете представить только 32 элемента. Используя разбиение на страницы/режимы, вы можете расширить количество поддерживаемых элементов. Представьте, например, 3 страницы с 32 символами + 32 символа + 32 команды управления.
Как уже было сказано, это кодирование с фиксированной длиной бита. Последующие темы — кодирование с переменной длиной бита, а затем кодирование Хаффмана (для оптимизации кодирования путем проведения анализа частоты/встречаемости элементов).