Найти - Пользователи
Полная версия: Проблема с расшифровкой имени файла
Начало » Python для новичков » Проблема с расшифровкой имени файла
1
Yarik
Вот такое вот имя файла “=?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 или неверно декодирую?
Ed
Попробуйте так:
print email.Header.decode_header("=?gb2312?B?SFNTRbHtz9a749fcMjAxMjAzMTYucHB0?=")[0][0]
Yarik
Нашёл баг у себя. Это всё прекрасно работает.
Просто я при сравнении до этого весь хидер сделал .lower()
Из за этого строка “=?gb2312?B?SFNTRbHtz9a749fcMjAxMjAzMTYucHB0?=” стала
“=?gb2312?b?sfntrbhtz9a749fcmjaxmjazmtyuchb0?=”. А она уже неверно декодировалась.
Тему можно считать закрытой.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB