Запись двоичного файла со строками более 45 байтов: binascii.Error: максимум 45 байтов одновременно - PullRequest
0 голосов
/ 05 марта 2019

Моя цель - прочитать двоичный файл и преобразовать его в текст.Мой код:

def binary_to_text(self,file_name):
  open_file = open(file_name,"rb")
  with open("Binary2Text.txt", "a") as the_file:
    for line in open_file:
      the_file.write(binascii.b2a_uu(line))

Я получаю эту ошибку:

binascii.Error: At most 45 bytes at once

Есть ли способ обойти это, или есть другой модуль, который я могу использовать, кроме binascii?Спасибо!

1 Ответ

0 голосов
/ 05 марта 2019

Метод binascii.b2a_uu предназначен для низкоуровневой функции для выполнения кода uuencode, в котором алгоритм кодирует ввод текста в 45-байтовых фрагментах, поэтому для ввода существует 45-байтовый предел фрагмента для ввода.

Если вы не пытаетесь реализовать uuencode самостоятельно, вам следует просто использовать вместо этого метод uu.encode:

import uu    
def binary_to_text(self, file_name):
    with open("Binary2Text.txt", "a") as the_file:
        the_file.write(uu.encode(file_name))
...