Я только что закончил создание алгоритма сжатия Хаффмана.Я преобразовал сжатый текст из строки в байтовый массив с помощью bytearray ().Я пытаюсь распаковать мой алгоритм Хаффмана.Моя единственная проблема заключается в том, что я не могу преобразовать свой байтовый массив обратно в строку.Есть ли встроенная функция, которую я мог бы использовать для преобразования моего байтового массива (с переменной) обратно в строку?Если нет, то есть ли лучший способ конвертировать мою сжатую строку во что-то еще?Я попытался использовать byte_array.decode () и получил следующее:
print("Index: ", Index) # The Index
# Subsituting text to our compressed index
for x in range(len(TextTest)):
TextTest[x]=Index[TextTest[x]]
NewText=''.join(TextTest)
# print(NewText)
# NewText=int(NewText)
byte_array = bytearray() # Converts the compressed string text to bytes
for i in range(0, len(NewText), 8):
byte_array.append(int(NewText[i:i + 8], 2))
NewSize = ("Compressed file Size:",sys.getsizeof(byte_array),'bytes')
print(byte_array)
print(byte_array)
print(NewSize)
x=bytes(byte_array)
x.decode()
UnicodeDecodeError: кодек utf-8 не может декодировать байт 0x88 в позиции 0: недопустимый начальный байт