Как перевести bytes в последовательность едениц и нолей python
Нужно преобразовать последовательность байтов в список из едениц и нолей например:
b'hello' == [0, 1, 0, 1, 0, 1, 0] # (примерно так, незнаю как будет)
Как лучше это сделать (можно любым способом, чтобы можно было дешифровать)?
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Например:
result = []
for b in b'hello':
result.extend(map(int, f'{b:08b}'))
print(result)
Вывод:
[0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1]
Или тоже самое в список списков, тогда поменять строку добавления на:
result.append(list(map(int, f'{b:08b}')))
Вывод:
[[0, 1, 1, 0, 1, 0, 0, 0], [0, 1, 1, 0, 0, 1, 0, 1], [0, 1, 1, 0, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1, 1]]
Есть и другие варианты.