Расшифровать байты - PullRequest
       3

Расшифровать байты

3 голосов
/ 15 февраля 2011

Следующий фрагмент кода взят из zipfile.py.

   self.fp.write(zinfo.FileHeader())

   def FileHeader(self):

       header = struct.pack(structFileHeader, stringFileHeader,
                 self.extract_version, self.reserved, flag_bits,
                 self.compress_type, CRC, dosdate, CRC,
                 compress_size, file_size,
                 len(filename), len(extra))
       return header + filename + extra

В другом файле:

  // Some other codes.....


  zip_file = zip_dir(self.upload_dir)

  zip_file.getvalue()

Мой вопрос:

Результат 'zip_file.getvalue ()' выглядит следующим образом:

... b'PK \ x03 \ x04 \ x14 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00O> \ x9f \ XEC \ x04 \ xd0 \ x06 \ x00 \ x00 \ x00 \ x06 \ x00 \ x00 \ x00 \ п \ x00 \ x00 \ x00index.htmlyellowPK \ x01 \ x02 \ x14 \ x03 \ x14 \ x00 \ x00 \ x00 \ x00 \ x00 \ x84 \ x93O> \ x9f \ XEC \ x04 \ xd0 \ x06 \ x00 \ x00 \ x00 \ x06 \ x00 \ x00 \ x00 \ п \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ xa4 \ x81 \ x00 \ x00 \ x00 \ x00index. htmlPK \ x05 \ x06 \ x00 \ x00 \ x00 \ x00 \ x01 \ x00 \ x01 \ X008 \ x00 \ x00 \ x00. \ x00 \ x00 \ x00 \ x00 \ x00'

Если я попытаюсь декодировать, т.е.

zip_file.getvalue (). Decode ()

это говорит:

Кодек utf8 не может декодировать байт 0x9f в позиции 14: неожиданный байт кода

Возможно ли расшифровать вышеперечисленное?

1 Ответ

3 голосов
/ 15 февраля 2011

Там нет ничего, чтобы декодировать.Байты составляют zip-файл, и вы можете извлекать содержимое архива с творческим использованием zipfile.

...