Текущий архив: 2006.05.21;
Скачать: CL | DM;
Вниз
кодировка при получении письма Найти похожие ветки
← →
it_work © (2006-05-01 09:10) [0]Пишу маленькую библиотеку, которая должна читать письма и пихать их в файл.
Столкнулся с проблеммой кодировки
Использую в библиотеке tIDMessage
Так вот проблемма в том, что пока не могу понять как раскодировать тему, отправителя, тело письма.
Получаю то в таком виде:
=?koi8-r?Q?=F3=D4
ясно, что в кои8
то в рПЛБЪЩЧБЕФЪОБЛ П
то =?windows-1251?B?wu
Как бы все это автоматом определять и перекодировать?
← →
it_work © (2006-05-02 06:35) [1]если указать в tIDMessage кодировку, то ничего не меняется
← →
it_work © (2006-05-02 11:50) [2]и все же может кто-нить знает в чем проблемма?
← →
Владимир (2006-05-02 12:48) [3]Пользуй UNICODE
← →
it_work © (2006-05-02 12:56) [4]
> Пользуй UNICODE
где пользовать?
письма идут от разных клиентов под разной операционкой
← →
it_work © (2006-05-03 10:40) [5]неужели ни кто не занимался этим?
← →
Desdechado © (2006-05-03 11:10) [6]хуже бывает, когда когдировка не указана вообще или указана, но неверно
← →
it_work © (2006-05-03 11:31) [7]
> хуже бывает, когда когдировка не указана вообще или указана,
> но неверно
и все же, как к примеру перевести в удобоваримый вид строку типа:
=?windows-1251?B?4OHi4+TluObn6Onq6+zt7u/w8fLz9PX29/j5/Pv6/f7/wMHCw8TFqMbH?= =?windows-1251?B?yMnKy8zNzs/Q0dLT1NXW19jZ3Nva3d7f?=
?
← →
evvcom © (2006-05-03 13:22) [8]
> =?windows-1251?B?4OHi4+TluObn6Onq6+zt7u/w8fLz9PX29/j5/Pv6/f7/wMHCw8TFqMbH?
> = =?windows-1251?B?yMnKy8zNzs/Q0dLT1NXW19jZ3Nva3d7f?=
Mail Reader перевел как:
абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗ ИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ
← →
it_work © (2006-05-03 13:39) [9]
> > =?windows-1251?B?4OHi4+TluObn6Onq6+zt7u/w8fLz9PX29/j5/Pv6/f7/wMHCw8TFqMbH?
>
> > = =?windows-1251?B?yMnKy8zNzs/Q0dLT1NXW19jZ3Nva3d7f?=
>
> Mail Reader перевел как:
> абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗ ИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ
>
Я в курсе что там закодировано :))
Мне надо программно раскодировать
← →
palva © (2006-05-03 13:46) [10]А что тут раскодировать? windows-1251 означает, что русская кодировка Windows-1251. Буква B означает, что байты представлены в кодировке Base64. Надо вытащить строку и применить соответствующие функции.
← →
it_work © (2006-05-03 14:07) [11]
> А что тут раскодировать? windows-1251 означает, что русская
> кодировка Windows-1251. Буква B означает, что байты представлены
> в кодировке Base64. Надо вытащить строку и применить соответствующие
> функции.
Самый главный вопрос : какие функции применять?
дополнительные вопросы: что еще может быть кроме B
Был бы не против увидеть пример
Заранее спасибо
← →
palva © (2006-05-03 15:27) [12]> что еще может быть кроме B
Может быть "Q", пример вы сами приводили. А вообще надо почитать стандарты rfc.
У меня D7, с ним идет Indy. Там есть функции перекодировки. Пример:
uses IdCoderMIME;
...
procedure TForm1.FormCreate(Sender: TObject);
var
s: String;
d: TIdDecoderMIME;
begin
d := TIdDecoderMIME.Create(nil);
s := "z/Do4uXy8fLi8/4gwuDxIQ==";
s := d.DecodeString(s);
d.Free;
Caption := s;
end;
Но вам нужны функции, которые есть на вашем компьютере. Это вам надо поискать в хэлпах.
← →
it_work © (2006-05-04 09:21) [13]
> Но вам нужны функции, которые есть на вашем компьютере.
> Это вам надо поискать в хэлпах.
У меня 6-о1 делфи.
Есть TIdBase64Encoder и TIdBase64Decoder.
Можно ли их использовать?
Если нет, то в 6-ом какие можно использовать?
Предварительно со строкой что-нить делать надо (типа убирать ?windows-1251?B? и т.д.)?
← →
it_work © (2006-05-04 12:16) [14]народ, уже весь инет изрыл, неужели ни кто не знает, как решить проблемму?
← →
palva © (2006-05-04 16:41) [15]Если бы я работал с D6 то я бы попробовал:
1. Прочитать документацию и обратиться к нужной функции.
2. Найти в интернете другую программу раскодировки.
3. Написать свою программу.
← →
it_work © (2006-05-05 06:13) [16]
> Если бы я работал с D6 то я бы попробовал:
> 1. Прочитать документацию и обратиться к нужной функции.
>
> 2. Найти в интернете другую программу раскодировки.
> 3. Написать свою программу.
Логично, но как-то не совсем тот совет, котырй я ожидал
← →
it_work © (2006-05-05 09:42) [17]Все, всем спасибо за советы, задача решена, по крайней мере на данный момент :))
Страницы: 1 вся ветка
Текущий архив: 2006.05.21;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.013 c