Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.024 c
15-1137350050
Андрей К
2006-01-15 21:34
2006.02.05
Подскажите аспирантуры в Москве...


3-1133786286
Provodnick
2005-12-05 15:38
2006.02.05
Выполнение запроса с помощью TADOQuery


2-1137480974
mike48
2006-01-17 09:56
2006.02.05
delfi выдает ошибку : project 1.exe raised exception class...


15-1137066858
Elena999
2006-01-12 14:54
2006.02.05
Выгрузка Grid - а в Excel


15-1137167894
Труп Васи Доброго
2006-01-13 18:58
2006.02.05
Старый Новый Год




   Наверх