Программа для преобразования данного двоичного файла в его эквивалентную строку символов ASCII.

Опубликовано: 20 Сентября, 2022

Для заданной двоичной строки str задача состоит в том, чтобы найти эквивалентную ей строку символов ASCII.

Примеры:

Input: str = “0110000101100010”
Output: ab
Explanation: Dividing str into set of 8 bits as follows: 

  • 01100001 = 97, ASCII value of 97 is ‘a’.
  • 01100010 = 98, ASCII value of 98 is ‘b’.

Therefore, the required ASCII character string is “ab”.

Input: str = “10000101100”
Output: Not Possible
Explanation: The given binary string is not a valid string as the number of characters is not a multiple of 8.

Подход: Эта проблема связана с реализацией. Выполните следующие шаги, чтобы решить данную проблему.

  • Сначала проверьте, делится ли s на 8 или нет.
    • Если не делится на 8 , выведите «Невозможно»
    • В противном случае перейдите к следующему шагу
  • Объявите пустую строку для хранения всей строки символов ASCII.
  • Пройдите через s через 8 символов и на каждом шаге найдите десятичное эквивалентное значение текущего набора из 8 бит.
  • Преобразуйте десятичное значение в эквивалентный ему символ ASCII и добавьте его к строке res .
  • Верните строку разрешения .

Ниже приведена реализация вышеуказанного подхода:

Временная сложность: O(N), так как мы используем цикл для прохождения N раз, поэтому это будет стоить нам O(N) времени.
Вспомогательное пространство: O(N)