Главная страница
    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.014 c
2-1137765561
MIXER
2006-01-20 16:59
2006.02.05
Событие в дельфи


2-1137705603
Змей
2006-01-20 00:20
2006.02.05
русские или английские буквы в строке?


2-1137577282
Andrey235
2006-01-18 12:41
2006.02.05
Как програмно создать компоненту на форме?


15-1137271695
Гарри Поттер
2006-01-14 23:48
2006.02.05
Админский софт для комп. клуба инет-кафе


8-1124690392
palgen
2005-08-22 09:59
2006.02.05
Компонент VideoCap ...





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