Форум сайта python.su
0
Добрый день,
промучался пол дня уде, помогите советом:
Python 2.7
Для упрощения кода все модули начинаются с импорта
from __future__ import unicode_literals
request = 'multipart {0}'
request = u'multipart {0}'
request = request.format(img)
img.decode('utf-8')
Офлайн
18
Относительно последнего:
img.decode('utf-8')
img.encode('utf-8')
Для упрощения кода все модули начинаются с импортаимхо это не упрощение, а запутывание
Отредактировано adray (Ноя. 28, 2012 17:21:26)
Офлайн
0
adray,
img.encode('utf-8')
Офлайн
18
DHTЭто уже вопрос к формату изображения
вызывает ту же ошибку декодирования.
DHTстрока в какой кодировке? Сдается мне, что не utf-8
содержимое которого хранится в переменной img типа строка.
DHTЭто неплохо, если в ближайшем будущем вы планируете портировать все на тройку, иначе будет постоянный разрыв шаблона при работе со строками
и почему запутывания? разве это не делает схожим по функционалу 2-ую ветку с 3-ей в плане работы со строками ?
Офлайн
0
adrayCдается и мне, что не в utf-8. Могут ли вообще файлы изображений быть в utf?
строка в какой кодировке? Сдается мне, что не utf-8
UnicodeDecodeError: 'utf8' codec can't decode byte 0x89 in position 0: invalid start byte
adrayПланирую. И уже впринципе можно пробовать. Был бы FTP модуль, который мог бы работать через соксы - уже бы портировал, а так приходится довольствоваться pycurl-ssl-7.19.0
если в ближайшем будущем вы планируете портировать
Офлайн
18
DHTВ принципе, никто им не запретит, но обычно они хранятся в бинарных файлах, а что у Вас в строке в итоге получается, мне не известно.
Могут ли вообще файлы изображений быть в utf?
Офлайн
0
adrayмне кажется мы идем правильным путем.
но обычно они хранятся в бинарных файлах
file = open('С:/1.png', 'rb') text = file.read()
print(type(text))
но если я скачиваю файл через GET запрос, содержимое которого хранится в переменной img типа строка
Офлайн
0
вот пример кода, который приводит к ошибке, помогите подправить…
file = open('C:/1.png', 'rb') test = u' добавить файл: {0} '.format(file.read()) file.close()
Офлайн
18
например так
file.read().encode('string_escape')
file.read().encode('base64')
Офлайн
0
adrayувы, но оба метода искажают изображение при загрузке. Точнее оно вообще не отображается.
например так
Отредактировано DHT (Ноя. 29, 2012 09:59:17)
Прикреплённый файлы:
compare.png (53,3 KБ)
Офлайн