![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| T0nic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
Я принимаю почту по протоколу POP3 пользуясь для сохранения сообщений компонентом TIDMessage. Иногда письма содержащие в теме или графе "От кого" русские буквы приходят в виде:
From: "=?koi8-r?Q?=F7=C9=D4=C1=CC=C9=CA_=E5=D7=C7=C5=CE=D8=C5=D7=C9=DE?=" Subject: =?koi8-r?Q?=F0=D2=C9=D7=C5=D4?= Я задавал вопрос когда мне приходило сообщение с такой строкой: =?koi8-r?B?8sHT09nMy8lATWFpbC5SdQ==?= <[email protected]> Мне посоветовали то что между =?koi8-r?B? и ?= декодировать по base64 и полученное перекодировать из koi8-r Все получилось. Но с первыми двумя строками не получается, насколько я вижу, там нужно использовать не base64, но опрос такой: Как определить что строка зашифрована??? или нужно самому парсить строку и смотреть?? И какой тут используется механизм шифрования?? |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
ищи в Indy. там что-то было
|
|||
|
||||
| T0nic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
а где именно?? там есть перекодировщики base64, uu но как определить зашифрована ли строка??
|
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
об этом говорит этот символ
=?koi8-r?Q? |
|||
|
||||
| T0nic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
Значит надо парсить строку самому? И значит каким кодировчиком закодирована данная строка?? Тогда вопрос, а какие вообще есть символы и кодировщики им соответствующие?? Добавлено @ 15:10 все, разобрался, что за кодировка, остался один вопрос, все таки самому нужно строку смотреть, чтобы понять закодирован ли?? |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
IdCoderHeader.pas
function DecodeHeader(Header: string):string; Добавлено @ 15:22 это Indy |
|||
|
||||
| T0nic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
но эта функция возвращает мне ту же самую строку |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
||||
|
||||
| T0nic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
В Edit вписываю одну из строк, но в лабел выводится то же самое... |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
||||
|
||||
| T0nic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
я просмотрел исходник этого файла и понял, вначале она находит кодировку, здесь указана кодировка ko8-r, а потом ЕСЛИ найдена кодирвка, то она декодирует по ключу (base64, uu ит.д.) но в исходнике указаны только 2 кодировки: ISO и WNDOWS, поэтому она не не знает про кодировку koi-8, следовательно переменная EncodingFound (логический тип) имеет значение false и она возвращает ту же строку.
Matematik, А ты смог мою строу так ждекодировать?? Если да, то какая у тебя версия Indy ?? |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
||||
|
||||
| T0nic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
а мог бы прислать свой переделанный юнит?? посмотри в личке, я тебе почту скинул.
Это сообщение отредактировал(а) T0nic - 24.10.2006, 15:41 |
|||
|
||||
| Matematik |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
не могу. я его удалил Очень большая проблема изменить свой, алгоритм разбора элементарный У меня Indy10 вот тот кусок из 10
|
||||
|
|||||
| T0nic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
я знаю, я это джогдался изменить, у меня получалось так:
Там в двух местах такая штука, но все равно ниче не меняется, та же строка... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |