Форум: "Основная";
Текущий архив: 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