Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 22, 2012 13:29:44

Yarik
Зарегистрирован: 2012-06-22
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с расшифровкой имени файла

Вот такое вот имя файла “=?gb2312?B?SFNTRbHtz9a749fcMjAxMjAzMTYucHB0?=”
Аутлук его правильно переводит в вид “HSSE表现汇总20120316.ppt”
А при попытке сделать то же самое питоном, получаю ошибку

attachFileName = "=?gb2312?B?SFNTRbHtz9a749fcMjAxMjAzMTYucHB0?="
subject, encoding = email.Header.decode_header(attachFileName)[0]
if encoding != None:
	attachFileName = subject.decode(encoding)

Декод хидер похоже работает нормально, проверял результат на других декодерах base64. Проблема в декодере gb2312 или неверно декодирую?

Офлайн

#2 Июнь 22, 2012 16:11:10

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Проблема с расшифровкой имени файла

Попробуйте так:

print email.Header.decode_header("=?gb2312?B?SFNTRbHtz9a749fcMjAxMjAzMTYucHB0?=")[0][0]



Офлайн

#3 Июнь 22, 2012 16:49:54

Yarik
Зарегистрирован: 2012-06-22
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с расшифровкой имени файла

Нашёл баг у себя. Это всё прекрасно работает.
Просто я при сравнении до этого весь хидер сделал .lower()
Из за этого строка “=?gb2312?B?SFNTRbHtz9a749fcMjAxMjAzMTYucHB0?=” стала
“=?gb2312?b?sfntrbhtz9a749fcmjaxmjazmtyuchb0?=”. А она уже неверно декодировалась.
Тему можно считать закрытой.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version