питон - преобразовывает двоичные данные в utf-8

_f = open("c:/go-next.png", "rb")
data = _f.read()
_f.close()
data.encode("utf-8")

# Error: UnicodeDecodeError: file  line 1: ascii # 

Поскольку вы видите, что я открываю файл изображения, и данные - тип. Но я должен преобразовать его в utf-8. Возможно, у двоичных данных есть некоторая дополнительная случайная работа (или не), она находится в противоречии с преобразованием. Там какой-либо путь состоит в том, чтобы решить его?

4
Я don' t средний, грубо говоря, но преобразование PNG к UTF8 doesn' t имеют любой смысл. PNG - формат изображения. UTF8 - текстовое кодирование. Можно ли объяснить больше, что это - вы, пытаются сделать?
добавлено автор Ned Batchelder, источник
Почему вы пытаетесь сделать это?
добавлено автор Keith, источник
@Hyun-geunKim используя код в той связи, вы <закодировали> бы add_file для изображения и add_field для текста. .add_file ("my_image", "пойдите-next.png", открытые ("c:/ пойдите-next.png", "rb"), "image/ png") и для текста .add_field ("ключ", "текст")
добавлено автор Esailija, источник
Я пытаюсь ОТПРАВИТЬ свои данные к СЕРВЕРУ в HTTP. Чтобы сделать это, я обращаюсь к http://www.doughellmann.com/PyMOTW/urllib2/#uploading-files и сделайте его хорошо. Но, чтобы ОТПРАВИТЬ специальный символ (как корейский язык), я должен послать его в формате "UTF-8". Администратор Server говорит мне делать это:)
добавлено автор Hyun-geun Kim, источник

5 ответы

Вы всегда можете карта a str , чтобы unicode использование латинский 1 кодер-декодер. Как только вы имеете unicode , можно всегда кодировать его в utf-8 :

data.decode('latin-1').encode("utf-8")
5
добавлено
Без значения? Суперкомпьютер когда-то спросили, "Каково значение жизни?" I' m вполне уверенный это ответило, ' 42' .decode (' latin1') .encode (' utf 8\U 0026\\U 0023\39;) .:-)
добавлено автор unutbu, источник
В то время как это верно, у результата нет значения.
добавлено автор Ignacio Vazquez-Abrams, источник
@yingted: I' m симпатичный уверенный, что, преобразовывая 0xd0 к 0xc3 0x90 atc. испортит изображение, которое является едва что you' d хотят.
добавлено автор Ignacio Vazquez-Abrams, источник
@IgnacioVazquez-Abrams латинский 1 кодер-декодер наносит на карту кодовые точки "0-255 к байтам 0x0-0xff": docs.python.org/2/library/codecs.html#encodings-and-unicode Так, это делает точно что you' d ожидают.
добавлено автор yingted, источник
@IgnacioVazquez-Abrams я просто поразил это. Я должен передать каплю через канал UTF-8, но меня don' у t есть base64 декодер на стороне получения. Это было бы правильным ответом, если бы вопрос имел какой-либо смысл.
добавлено автор yingted, источник

Текстовое кодирование только относится к тексту. Не пытайтесь использовать их на двоичных данных.

3
добавлено
Да, я и мой коллега настраиваем другой ПОЧТОВЫЙ модуль.
добавлено автор Hyun-geun Kim, источник

То, чего вы пытаетесь достигнуть, может, вероятно, быть достигнуто base64, кодирующим его.

 import base64
 encoded = base64.b64encode(image_binary_data)
1
добавлено

Кодирование означает преобразовывать последовательности в storable байты.
И Расшифровка означает преобразовывать байты в удобочитаемые последовательности.

данные в вашем коде уже закодированы.

0
добавлено

Изображение не может быть преобразовано во что-то как чартеры в utf8.

0
добавлено
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community