Вниз
Скачать: CL | DM;

Indy POP3: как сохранить приатаченный файл с русским именем   Найти похожие ветки 

 
IgorOKey   (2005-11-07 17:40) [0]

есть код:

if AMsg.MessageParts.Items[PartCount].ClassType=TIdAttachment then
begin
AttFile:=AMsg.MessageParts.Items[PartCount] as TIdAttachment;
AttFile.SaveToFile(ConfigRecord.vFilePath + AttFile.FileName);
end;

Если приатаченный файл имеет название латинское название (латинскими буквами), то все работает на ура, файлы сохраняются по указанному пути.
Но если к письму прикреплен файл с русскими буквами в названии то ничего не сохраняется. Название файла тест.txt в данном случае имеет вид:
=?Windows-1251?B?8uXx8i50eHQ=?=
Как это декодировать в нормальное имя файла?
Помогите..


 
palva ©   (2005-11-07 20:15) [1]

Outlook Express тоже кодирует русские имена приаттаченных файлов. Может быть иначе и нельзя, не знаю. Даже если можно поколдовать с заголовками message part, то нет гарантии, что все почтовые клиенты воспримут такое письмо правильно.

Если вопрос как декодировать, то это кодирование Base64


 
IgorOKey   (2005-11-08 09:16) [2]

На счет Base64 спасибо. Я с этим разобрался. Но после раскодировки Base
получается строка с кодировкой или Win-1251 или Koi-8 или еще что нибудь.
Если строка Win-1251, то имя файла получается нормальным, если Koi-8, то его опять нужно декодировать.

Короче говоря, как декодировать KOI-8?


 
palva ©   (2005-11-08 09:30) [3]

> как декодировать KOI-8?
Если KOI8-R, то по таблице, которую, можно взять, например, здесь.
http://www.nsc.ru/rus/inter/win-koi8.htm
А то еще бывает KOI8-U для украинского языка.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
1-1131051613
Toxa_ua
2005-11-04 00:00
2005.12.04
ComponentCount в TEdit


1-1131267819
x.pro
2005-11-06 12:03
2005.12.04
Создание объектов.


14-1132060968
stone
2005-11-15 16:22
2005.12.04
Такая вот задачка


14-1131587946
vidiv
2005-11-10 04:59
2005.12.04
Культура мысли


14-1131980916
GeserX
2005-11-14 18:08
2005.12.04
Вчерашняя задачка про массивы




   Наверх