Главная страница
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.027 c
2-1137349244
Только начавший
2006-01-15 21:20
2006.02.05
Передача параметров принтеру


3-1133506840
skulll
2005-12-02 10:00
2006.02.05
Помогите подключится к MSSQL через ADO


2-1137618904
Змей
2006-01-19 00:15
2006.02.05
Транслит


15-1137434498
Cerberus
2006-01-16 21:01
2006.02.05
Файловая система Linux из под Windows


3-1133563756
NTNick
2005-12-03 01:49
2006.02.05
InterBase и ODBC