Я пытаюсь преобразовать строку в двоичный файл и взять дополнение, после чего снова отобразить строку. Я видел пары связанных постов, таких как здесь и здесь , и я слежу за официальной работой, которая была опубликована в здесь , в приведенном ниже кодепосле запуска кода отображается ошибка AttributeError: у объекта 'bytes' нет атрибута 'encode' . я использую python 3.6
следующий код:
import binascii
def text_to_bits(text, encoding='utf-8', errors='surrogatepass'):
bits = bin(int(binascii.hexlify(text.encode(encoding, errors)), 16))[2:]
return bits.zfill(8 * ((len(bits) + 7) // 8))
def text_from_bits(bits, encoding='utf-8', errors='surrogatepass'):
n = int(bits, 2)
return int2bytes(n).decode(encoding, errors)
def int2bytes(i):
hex_string = '%x' % i
n = len(hex_string)
return binascii.unhexlify(hex_string.zfill(n + (n & 1)))
your_string='hello'
b=your_string.encode('ascii', 'strict')
text_to_bits(b)
есть ли способ после преобразования его в двоичный файл, чтобы взять его дополнение и снова отобразить строку?