Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 21, 2009 13:55:12

DHT
От:
Зарегистрирован: 2009-09-24
Сообщения: 119
Репутация: +  0  -
Профиль   Отправить e-mail  

Можно ли как-то упростить конструкцию перевода byte в string.

Есть изображение в byte, которое нужно перевести в string. Encode/Decode и прочие не помогли, а удалось решить задачу лишь таким вот способом. Можно ли как-то упростить конструкцию или воспользоваться стандартными функциями?

image_byte = b'\x89PNG\r\n\x1a\n\x00...\x82'
image_str = ''
for i in image_byte:
image_str += chr(i)



Офлайн

#2 Дек. 21, 2009 14:05:53

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Можно ли как-то упростить конструкцию перевода byte в string.

Разве что так:

image_byte = bytearray('\x89PNG\r\n\x1a\n\x00...\x82')
result = ''.join(map(chr,image_byte))
А вообще должно работать и такое:
b'hello'.decode(encoding)



Отредактировано (Дек. 21, 2009 14:07:50)

Офлайн

#3 Дек. 21, 2009 16:14:55

DHT
От:
Зарегистрирован: 2009-09-24
Сообщения: 119
Репутация: +  0  -
Профиль   Отправить e-mail  

Можно ли как-то упростить конструкцию перевода byte в string.

regall
спасибо!

Впринципе, через decode тоже вышло, но для этого надо знать кодировку. Получилось с такой: ‘iso-8859-1’.



Офлайн

#4 Дек. 22, 2009 11:28:30

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Можно ли как-то упростить конструкцию перевода byte в string.

А чем base64 не устраивает, он же для этого как раз и предназначен?
И для чего, если не секрет, это нужно?



Офлайн

#5 Дек. 22, 2009 14:18:35

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Можно ли как-то упростить конструкцию перевода byte в string.

igor.kaist
А чем base64 не устраивает, он же для этого как раз и предназначен?
Мне кажется bytearray для таких целей будет лучше, так как отработает быстрее, чем base64 (человек все-таки с изображениями работает).



Офлайн

#6 Дек. 22, 2009 18:10:31

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Можно ли как-то упростить конструкцию перевода byte в string.

regall
(человек все-таки с изображениями работает).
Я не думаю, что топикстартеру захочется обрабатывать таким вот способом изображения, и он будет работать с ними побайтно. Все зависит от цели. В общем то base64 для этого придумали, чтоб бинарники в текстовых файлах хранить.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version