Показать сообщение отдельно
Старый 04.08.2008, 02:45   #12
Skythrone
ПроЭктировщик
 
Регистрация: 02.07.2008
Сообщений: 105
Написано 7 полезных сообщений
(для 14 пользователей)
Вопрос Ответ: Lib_base64: реализация алгоритма base64.

Алгоритм работает весьма быстро, тут полный респект с моей стороны.

Но иногда не может раскодировать корректно закодированную строчку. Просто виснет.
Причём это даже не зависит от размера обрабатываемых данных. Иногда всё ОК, а иногда - мёртвое зависание.

Вот, например, на этой картинке:

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
npqytsfQ4DDTw1LkqO7vuf/Z
Другими алгоритмами декодирования (например, на php) строчка раскодируется совершенно без проблем.
(Offline)
 
Ответить с цитированием