Russian Qt Forum
Ноябрь 29, 2024, 02:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Парсить eml файл.  (Прочитано 5842 раз)
rims
Гость
« : Февраль 17, 2009, 04:09 »

У меня есть eml файл. Я из него выдрал нужные мне поля. такие как From, To, Subject, Date.
Теперь мне нужно фильтровать их. С полями тапи From, To, Subject не понятно как... так как там возможно есть "не латиница". Тоесть указана кодировка, чем обработано сначала (Base64 или нет).

Есть-ли способ или просто пример как обрабатывать такие поля? Чтобы привести к правильному виду и я мог фильтровать?
Записан
ритт
Гость
« Ответ #1 : Февраль 17, 2009, 04:58 »

какое отношение вопрос имеет к Qt и к работе с сетью?
Записан
rims
Гость
« Ответ #2 : Февраль 17, 2009, 05:05 »

какое отношение вопрос имеет к Qt и к работе с сетью?
1) делаю используя Qt 4.4.3
2) извиняюсь. перенесут, если это критично?
Записан
ритт
Гость
« Ответ #3 : Февраль 17, 2009, 07:22 »

некритично - перенесём...но описание проблемы никуда не годится.
читай документацию по QTextCodec
для base64 аналогично по QByteArray::fromBase64
Записан
rims
Гость
« Ответ #4 : Февраль 17, 2009, 07:46 »

некритично - перенесём...но описание проблемы никуда не годится.
читай документацию по QTextCodec
для base64 аналогично по QByteArray::fromBase64
да если бы была проблема только в том, что перевести из base64...
QByteArray::fromBase64 я конечно видел и читал.
там всякие тэги парсить... думал может кто уже сталкивался с этим, чтобы мне не изобретать велосипед...
я нашел пример, шас привожу в нужный вид. но все равно вопрос еще открыт... вдруг найдется лучшее решение.

на счет описания проблемы... сорри. нечасто спрашиваю в форумах.
Записан
ритт
Гость
« Ответ #5 : Февраль 17, 2009, 07:55 »

а что там парсить-то? всё QRegExp'ом прям на лету можно...
Цитировать
To: =?iso-8859-2?Q?Pawe=B3?= Pavel <123@software.com>
если есть `=??=`, делаешь доп.проверку - забираешь часть строки, отмеченную жирным, и пробуешь создать кодек для этого имени; если получилось, конвертишь данным кодеком в нужную кодировку, иначе фоллбэк или ворнинг/ошибка...

или есть ещё какие-то сложности?
Записан
rims
Гость
« Ответ #6 : Февраль 17, 2009, 09:47 »

а что там парсить-то? всё QRegExp'ом прям на лету можно...
Цитировать
To: =?iso-8859-2?Q?Pawe=B3?= Pavel <123@software.com>
если есть `=??=`, делаешь доп.проверку - забираешь часть строки, отмеченную жирным, и пробуешь создать кодек для этого имени; если получилось, конвертишь данным кодеком в нужную кодировку, иначе фоллбэк или ворнинг/ошибка...

или есть ещё какие-то сложности?
хм.. а ведь точно...
ни когда не работал с регэкспами... пора начинать Улыбающийся
спасибо.

только... вот с base64 тут просто переведу и все. это где ?B?.
а в вашем примере ?Q?.
это я так понимаю Quoted string? как оно преобразовывается?
« Последнее редактирование: Февраль 18, 2009, 01:32 от rims » Записан
crossly
Гость
« Ответ #7 : Февраль 17, 2009, 10:04 »

а не проще заюзать стороннюю либу... libvmime к примеру...
Записан
rims
Гость
« Ответ #8 : Февраль 17, 2009, 10:24 »

а не проще заюзать стороннюю либу... libvmime к примеру...
о! это то что я и хотел изначально!
сейчас посмотрим Улыбающийся но и с регэкспами покопаюсь...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.304 секунд. Запросов: 21.