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

Вниз

TidDecodeMIME - неверно декодирует?   Найти похожие ветки 

 
fishka   (2005-12-28 15:35) [0]

Использую компонент TidDecodeMIME с именем Id64.
Есть подозрение, что он возвращает неверное значение.
id64.DecodeToString("NDQ0NDUNCjkNCjgNChE5kIQyi02q")
Это строка из почтового сообщения.
Как проверить, что  в действительности должно получиться?


 
umbra ©   (2005-12-28 15:42) [1]

это неполная строка. строка для декодирования из Base64 должна иметь длину кратную 4. если в В ашей строке меньше символов, добавляется соответствующее количество символов =


 
fishka   (2005-12-28 15:53) [2]

А что должно получиться в результате этой строки?
Пусть в конце добавляются =.


 
Sysanin   (2005-12-28 16:07) [3]

Вот что получается у меня:

44445
9
8
9„2‹Mª


 
Sysanin   (2005-12-28 16:08) [4]

кстати в даную строку не надо добавлять =, т.к. имется уже 28 символов!


 
fishka   (2005-12-28 16:17) [5]

У меня начало такое же, а последняя строка получается : 9ђ„2‹MЄ


 
umbra ©   (2005-12-28 16:51) [6]

значит начало неправильное. возьмите каккую-то строку, закодируйте ее, посмотрите, что получится. Уберите в начале или конце символ, раскодируйте - увидите что-то аналогичное тому, что есть


 
umbra ©   (2005-12-28 16:52) [7]

если Вы пытаетесь раскодировать темы писем или имена файлов, то надо бать полную строку из тела письма.


 
fishka   (2005-12-28 16:56) [8]

Не очень понятно. Это и есть полная строка из тела письма.
А после декодирования получается:
44445
9
8
9ђ„2‹MЄ
Это если использовать TidDecodeMIME.
Но возможно это неверно.


 
umbra ©   (2005-12-28 17:00) [9]

точнее, если в письме есть строка типа  =?windows-1251?B?4uXx/CDv5fDo7uQp?=
то надо взять из нее все после =?windows-1251?B? и передать в декодер


 
umbra ©   (2005-12-28 17:10) [10]

если у Вас есть часть сообщения, поле TransferEncoding которого равно Base64, расположенное на нескольких строках, то перед раскодированием все эти строки надо объединить в одну, убрав разделители #A#D или #A (зависят от того, Виндовс у Вас или Линукс)


 
fishka   (2005-12-28 17:17) [11]

В письме нет строк типа  =?windows-1251?B?

Мне хотелоь бы, чтобы кто-нибудь раскодировал, как это сделал Sysanin   (28.12.05 16:07) [3]  и посмотреть, что получается.


 
umbra ©   (2005-12-28 17:35) [12]

то, что Вы написали и получается. Это значит что или

1) Изначально это и кодировали
2) Не полностью вставлен фрагмент сообщения (не хватает символов или в
   начале, или в конце)


 
fishka   (2005-12-29 08:57) [13]

Фрагмент сообщения вставлен полностью.
Возможно, это и кодировали.

А теперь попытаюсь объяснить проблему.
Этот фрагмент в настоящее время раскодируется программой, написанной на CBuilder-e 5.0. И после раскодирования получается
другой результат: а именно вместо Є раскодируется символ копирайт.

У меня вопрос: где ошибка?



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

Форум: "Основная";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.012 c
2-1137783564
Antip
2006-01-20 21:59
2006.02.05
Непонятка с указателями и списком TList


2-1137577253
Dot
2006-01-18 12:40
2006.02.05
добавление записи в файл


2-1137434040
Dark Lord
2006-01-16 20:54
2006.02.05
Глюк с ShellExecute!


15-1137108846
Quattro
2006-01-13 02:34
2006.02.05
KaZaa


15-1137202446
НТВ
2006-01-14 04:34
2006.02.05
Откровения коменданта Ирака





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