Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Indy POP3: как сохранить приатаченный файл с русским именем [D6, WinXP]


IgorOKey ©   (2005-11-07 17:40:00) 

есть код:

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-08 09:30:00) [1]

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


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

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

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


palva   (2005-11-07 20:15:00) [3]

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо