2017-01-21 2 views
-3

Мне нужно декодировать текст из двоичных файлов и сравнить его с текстом (который написан пользователем) в моей программе, а также мне нужно декодировать текст в двоичный текст. Пример: 011011000110111101101100 => lol lol => 011011000110111101101100 Должно быть 2 функции Как я могу это сделать?Декодер для двоичных файлов в C

+2

Можете ли вы продемонстрировать * любое * усилие при решении этого самостоятельно? –

+0

Вы можете преобразовать «числовую» строку, записанную в числовой базе, в 'long' с помощью' strtol'. –

+0

Я понятия не имею, как его решить, я пытаюсь найти что-то в Интернете, но я могу только найти, как декодировать числа, но мне тоже нужен текст –

ответ

0

Я понимаю, так вот как это работает:

  • нужна функция может конвертировать 8 битов числа двоичных (в можно добавить «0» после того, как номера, чтобы всегда иметь 8bits), каждый номер вы получаете может быть преобразованный с ASCII-таблицы, для Exemple л 108, я предполагаю, что вы уже знаете
  • Иным функция может преобразовать ASCII символы чисел 8bits двоичном в

двоичных чисел в десятичные:

01101100 -> 0.2^0 + 0.2^1 + 1.2^2 + 1.2^3 + 0.2^4 + 1.2^5 + 1.2^6 + 0.2^7 

очень легко

десятичных чисел в двоичном: Получить остаток и частное:

108/2 : q = 54 r = 0 
54/2 : q = 27 r = 0 
27/2 : q = 13 r = 1 
13/2 : q = 6 r = 1 
6/2 : q = 3 r = 0 
3/2 : q = 1 r = 1 

взять последний фактор и все остальное: 1101100, добавить 0, чтобы иметь 8 бит: 01101100

Смежные вопросы