Название: Кодировка в мыле [QT4] Отправлено: Zmey от Июнь 14, 2006, 20:48 Получил письмо. "Тема" написана с использованием русских символов. Поэтому в RFC-822 заголовке письма строка:
Subject: =?koi8-r?B?6drNxc7FzsnRINcgU1NO?= Как мне теперь раскодировать эту строку? Пример из Assistant: QByteArray encodedString = "6drNxc7FzsnRINcgU1NO"; QTextCodec *codec = QTextCodec::codecForName("KOI8-R"); QString string = codec->toUnicode(encodedString); В string содержится "6drNxc7FzsnRINcgU1NO", то есть никаких преобразований. Или еще вот такая тема: Subject: =?windows-1251?Q?=CA=E0=F7=E0=EB=EA=E8?= Название: Кодировка в мыле [QT4] Отправлено: Steven_Orko от Июнь 14, 2006, 21:01 Последняя тема записана в UNICODE, сюда по коду. А ты не думал про спам? Там заголовки могут генериться какие угодно )))
Название: Кодировка в мыле [QT4] Отправлено: Zmey от Июнь 14, 2006, 21:11 Письма нормальные, например, первая тема это "Изменения в SSN", а вторая это "Качалки". Клиент The Bat! это понимает и выводит нормально. Мне тоже такое надо.
Название: Кодировка в мыле [QT4] Отправлено: Sergeich от Июнь 14, 2006, 21:31 Скорей всего сабж записан в base64. Насколько я помню в 4-ой кутехе есть методы для кодирования/декодирования в base64
Название: Кодировка в мыле [QT4] Отправлено: Deiv от Июнь 15, 2006, 08:49 Кодировка тем указана в первом токене =?koi8-r?
во втором укзан тип кодирования либо "B" base64 либо "Q" quoted print или как то так Третий токен - сама тема сначала её декодируешь либо Q, либо B способом Потом хаваешь результат, учитывая кодировку прочитанную из первого токена Хотя возможна сложность - в теме может быть несколько таких строк :-) Subject: =?windows-1251?Q?=CA=E0=F7=E0=EB=EA=E8?= =?windows-1251?Q?=CA=E0=F7=?= =?windows-1251?Q?=E0=EB=EA=E8?= The header file base64.h Код:
Код:
Название: Кодировка в мыле [QT4] Отправлено: Zmey от Июнь 15, 2006, 18:51 Спасибо мэны!
base64 реализован в QByteArray QByteArray::fromBase64 ( const QByteArray & base64 ) [static] Насчет Quoted-Printable пришлось искать предложения сторонних производителей. Нашлось тут: http://www.codeproject.com/string/ammimeutils.asp Название: Re: Кодировка в мыле [QT4] Отправлено: max1983 от Август 03, 2009, 21:01 Насчет Quoted-Printable пришлось искать предложения сторонних производителей. Нашлось тут: http://www.codeproject.com/string/ammimeutils.asp Тема старовата.Но у меня задача аналогичная c Quoted-Printable Кто знает как с помощью http://www.codeproject.com/string/ammimeutils.asp Закодировать - раскодировать русский текст. Если делаю в Code::Blocke то полные "каракули" а в QDevelop прога просто падает при попытке с русским текстом. Больше в интернете аналогичных "утилит" под С++ не нашел. Встроеных средств QT вроде как нет. |