![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Семиричная кодировка в текстовом файле [D6, WinXP]
Lola © (2004-10-01 17:35:00)Есть текстовый файл (экспорт письма). Иногда почтовые сервера кириллицу перекодируют в семиричную кодировку (KOI или WIN). Мне надо прочитать эти строки в TMemo. Но... штатными средствами получаю пустую строку. Более того, после такой строки, следующие тоже читаются как пустые.
Нашла таблицы перекодировки, но если я получаю пустую строку на входе функции, то ничего и неперекодируется, ессестно...
Что делать?
Lola (2004-10-06 22:03:00) [1]Всё, отбой воздушной тревоги :))
Как это не смешно, но это BASE64 в KOI-8.
Lola (2004-10-06 14:46:00) [2]Уточняю, строка:
Subject: =?koi8-r?B?=8yDu4fP09fDh4P3p7SE=?=
означает:
Subject: С НАСТУПАЮЩИМ!
Что-то видимо значит "?B?". Потому что в обыкновенных "откусанных" строках стоит "?Q?", видимо означающий quoted...
И Инди эту строку не берет...
Lola (2004-10-05 20:32:00) [3]
> atruhin © (05.10.04 17:46) [11]
Много о кодировках (очень много) я уже прочитала. В глазах рябит. Везде одно и тоже. Но Ваше тоже посмотрю (найду и посмотрю).
Но, всетаки, спецы сразу узнают, про что это?
atruhin (2004-10-05 17:46:00) [4]Прочитай - "Интернет решения от доктора Боба" был файл drbobinetrus.doc - там много о кодировках.
Lola (2004-10-05 14:25:00) [5]Свищу...
С обрезанием первых битов разобралась, все - окей.
Но попадаются письма со строками типа: "8yDu4fP09fDh4P3p7SE" - В переводе: "С НОВЫМ ГОДОМ!" В заголовке стоит koi8-r, но это что-то другое, или оно, но трансформированное. Подскажите, что это за кодировка?
Lola (2004-10-01 22:34:00) [6]Спасибо, посмотрю ИНДИ. Если что, то свистну.
> Anatoly Podgoretsky © (01.10.04 19:29) [7]
Насчет округлости нулевых битов, кстати, дельное наблюдение ;)
Reindeer Moss Eater (2004-10-01 21:37:00) [7]Кстати, тема письма в посте №2 - "Напоминание"
Anatoly Podgoretsky (2004-10-01 19:29:00) [8]Reindeer Moss Eater © (01.10.04 17:47) [4]
Это для экономии, нулевые биты легче проходят по сети, они круглые, скользкие.
Lola © (01.10.04 17:43) [2]
Как сказал Reindeer Moss Eater © (01.10.04 17:49) [5] это транспортная упаковка, смотри в сетевых компонентах, например в ИНДИ, что есть для превращения из упакованого формата в КОИ-8, а затем уже любым перекодировщиком перекодируешь в 1251
TUser (2004-10-01 18:22:00) [9]Я не знаю, но вопрос: имеющиеся библиотеки (Indy, ICS) решают проблему?
Reindeer Moss Eater (2004-10-01 17:49:00) [10]А эта тема письма в кои-8 но потом еще в quoted printable.
Reindeer Moss Eater (2004-10-01 17:47:00) [11]Все зависит от того, что мы понимаем под перекодировкой в семибитный формат.
В америке например программистам невдомек зачем символы кодировать восемью битами когда для их алфавита достаточно семи.
Поэтому есть сервера, котрые откусывают старший бит у каждого байта в теле письма.
Я имел ввиду это.
Если письмо было написано по русски в KOI-8r то оно останется после этого читабельным но в транслите.
У вас же скорее всего все намного проще.
Надо перекодировать строки из b64.
Вот и все.
Erik1 (2004-10-01 17:46:00) [12]А чем читаем? Приведи сначала код чтения, а после уж можно о перекодировки думать. Когда будет, что перекодировать.
Lola (2004-10-01 17:43:00) [13]
> Reindeer Moss Eater © (01.10.04 17:38) [1]
Аутлук и бат эти письма читают нормально. Мне нужен сабжект получить из письма.
Например: в письме строка "Subject: =?koi8-r?Q?=EE=C1=D0=CF=CD=C9=CE=C1=CE=C9=C5?=". У меня же в программе прочитывается только "Subject".
То же самое с windows-1251.
Reindeer Moss Eater (2004-10-01 17:38:00) [14]Если письмо было на русском и не в KOI и почтовый сервер откусил старший бит в каждом байте, то письмо можно выкинуть.
Если же оно было в KOI, то письмо превратится в транслит.