Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Вниз

кодировка при получении письма   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.018 c
3-1143784593
max1990
2006-03-31 09:56
2006.05.21
не могу создать ссылочную целостность


15-1146008584
Серджинйо
2006-04-26 03:43
2006.05.21
JEDI Не устанавливается...


3-1143612605
Ярослав
2006-03-29 10:10
2006.05.21
Соединение таблиц многие к одним


15-1146224093
fasr2
2006-04-28 15:34
2006.05.21
Случайно был удален файл C: ntldr (WinXp NTFS)


9-1130349956
Chuvak
2005-10-26 22:05
2006.05.21
Кодинг игр под Linux на Delphi(Kylix). Реально?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский