Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.05;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
15-1137267202
Desdechado
2006-01-14 22:33
2006.02.05
Secure E-mail Service


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


4-1132131975
john_mag
2005-11-16 12:06
2006.02.05
Delphi, Word и MSPVIEW.EXE


2-1137477099
pathfinder
2006-01-17 08:51
2006.02.05
Подскажите пожалуйста в чем отличие следующих кодов?


15-1137238933
iZEN
2006-01-14 14:42
2006.02.05
Установка GTK+ на Win32.