Какой тип кодека лучше всего кодировать двоичные файлы, которые загружаются в приложение, пишите в Python 3?Кодирование байтов в Python3
ответ
Я знаю, что это поздний ответ, и вопрос не полностью ясно, но если вам нужно закодировать строку байтов, которую нужно сохранить где-то, и по какой-то причине вы не можете просто сохранить двоичные данные , вы должны закодировать строку с помощью модуля base64
. Например, у вас есть длинная строка байтов (в этом случае генерируется с os.urandom(100)
:
import base64
import os
some_bytes = os.urandom(100)
print(repr(some_bytes))
some_bytes_base64 = base64.standard_b64encode(some_bytes).decode()
print(some_bytes_base64)
Это печатает что-то вроде следующего:
b'\xd3\xa3\x0eT/L\xc6\x88\x98\xd0i\xbaa\xb2\x18\x1bx\xde\xf6Zq\xbe\xd9\xb4D\x19\x14\x91Z}wg?\x90\xd7f\xca\x1bxX\xa8\x99\xe6\xbb\xe0\x80\xa3\xc4\xb8\x1f\xfcp\xbc\x8d:/\xcfk\x01\xee\xc1\xde\xdc\xc3\xfa\x0e|7\x8eYt\xd1\x0b\x8a\x89\x9c^\xcf\xbc\\\x00_\x89dyb\x13\xa8\xdb\xba\xe3\x85X\x8d\x1a\x8bz\xe5\xfb\r'
06MOVC9MxoiY0Gm6YbIYG3je9lpxvtm0RBkUkVp9d2c/kNdmyht4WKiZ5rvggKPEuB/8cLyNOi/PawHuwd7cw/oOfDeOWXTRC4qJnF7PvFwAX4lkeWITqNu644VYjRqLeuX7DQ==
Как вы можете видеть, строка была правильно закодированы. метод decode()
преобразует байт буквального, что base64.standard_b64encode
обычно возвращается к стандартной строке. This answer описывает byte literals хорошо, на мой взгляд.
Это позволит вам передавать файл, последовательность байтов и т. д. без проблем. (В конце концов, разве это не было Base64 encoding
для?)
- 1. # - * - кодирование: utf-8 - * - on python3
- 2. изменение между строкой и байтов в Python3
- 3. Кодирование Uint32 ints в массив байтов Java
- 4. Буферы протокола Google (protobuf) в Python3 - проблема с ParseFromString (кодирование?)
- 5. Как найти кодировку объекта байтов python3
- 6. Python3 Добавление нулевых байтов с bytearray()
- 7. Кодирование массива байтов из строки (польские шрифты)
- 8. Кодирование строки из массива байтов вопроса
- 9. кодирование и декодирование символов и байтов буфера
- 10. UTF8 Кодирование, не добавляющее отметку порядка байтов
- 11. Доступ к аргументам командной строки в виде байтов в python3
- 12. Кодирование ASCII строки в документе UTF8 XML в массив байтов
- 13. Запись необработанных байтов в файл Python3 приводит к неожиданному выходу
- 14. Почему сравнение байтов с ул проваливается в Python3
- 15. Что такое инвертированная операция байтов repr() в python3?
- 16. Python3 ctypes c_char массив, преобразованный в неизменяемый тип байтов?
- 17. Преобразование массива байтов из кодирования A в кодирование B
- 18. Неверно объявлять # - * - кодирование: utf-8 - * - после #!/Usr/bin/python3?
- 19. проблемы с отправкой байтов больше 0x7F python3 последовательный порт
- 20. Python3 Как сделать объект байтов из списка целых чисел
- 21. python3: warnings.warn() падает на объект байтов после импорта numpy
- 22. Как определить кодирование изображения с использованием байтов заголовка
- 23. Код не компилируется в Python3
- 24. кодирование и кодирование в питоне
- 25. Кодирование сериализации теста
- 26. Python3: криптографическое решение головоломки в python3
- 27. Python3 добавив дополнительные байты в байтах строку
- 28. Проблемы с совместимостью python2 python3
- 29. Кодирование данных в python
- 30. Кодирование для FontFactor.getFont()
Какие файлы? Почему они должны быть закодированы? –
Любой, я тестирую изображение и когда я использовал «raw_unicode_escape», потому что utf-8 дублирует размер файла, но при этом файл сохраняет исходный размер, но говорит об этом, когда я открываю: (Таблица квантования 0x01 была не определено) – hidura
В Python 3 изображения должны быть нигде рядом с кодировкой string/unicode. Они должны быть загружены, обработаны и сохранены в виде байтов. Почему вы должны указать 'raw_unicode_escape'? Каков тип изображения при его загрузке? –