Python 3.8 - конвертировать строку в двоичный файл с помощью binascii.a2b_uu - PullRequest
0 голосов
/ 12 января 2020

Я пытаюсь преобразовать строку в двоичный файл и думаю, что не правильно использую binascii. Ниже приведен мой код:

import binascii
name = 'Bruno'
for c in name:
    print ("The Binary value of '" + c +"' is", binascii.a2b_uu(c))

Результат не тот, который я ожидал, как вы можете видеть ниже:

The Binary value of 'B' is b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
The Binary value of 'r' is b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
The Binary value of 'u' is b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
The Binary value of 'n' is b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
The Binary value of 'o' is b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

Что мне нужно изменить, чтобы получить двоичное значение в 0 с а 1с?

1 Ответ

1 голос
/ 12 января 2020

Если вы ищете пейнтбру sh, binascii - кувалда. Это просто совсем не инструмент для того, что вы пытаетесь сделать. Вы можете получить кодовую точку символа, используя функцию ord, и существует очень много способов преобразования целого числа в двоичное. Вот один из способов go об этом:

def ascii_name(name):
    for c in name:
        print("The binary value of {} is {:08b}".format(c, ord(c)))

ascii_name("Bruno")

с выводом

The binary value of B is 01000010
The binary value of r is 01110010
The binary value of u is 01110101
The binary value of n is 01101110
The binary value of o is 01101111

См. этот вопрос для более подробной информации и некоторые другие подходы. Некоторые из этих подходов do используют binascii, хотя, если вы не будете вынуждены использовать binascii, я снова призываю вас не беспокоиться об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...