Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.51 MB
Время: 0.027 c
2-1146458695
Yastreb
2006-05-01 08:44
2006.05.21
Работа с paradox


15-1146044448
Rule
2006-04-26 13:40
2006.05.21
Компания Borland приглашает 11 мая на семинар в Киеве


2-1146922436
ДЯМАК
2006-05-06 17:33
2006.05.21
Дана матрица


2-1146811234
RomanH
2006-05-05 10:40
2006.05.21
Управление DBLookUpComboBox ом


2-1146317725
Silica
2006-04-29 17:35
2006.05.21
Код ANSI