Главная страница
    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.48 MB
Время: 0.013 c
2-1146291338
Rubey
2006-04-29 10:15
2006.05.21
Составное имя


15-1145569380
Германн
2006-04-21 01:43
2006.05.21
Версия Indy в Делфи2006


15-1145873028
Суслик
2006-04-24 14:03
2006.05.21
Кто ставил update 2 на bds2006?


6-1136586503
oleg_
2006-01-07 01:28
2006.05.21
Как запостить файл?


15-1145868036
Looser
2006-04-24 12:40
2006.05.21
вопрос не по дельфи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский