forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_base64: реализация алгоритма base64. (http://forum.boolean.name/showthread.php?t=6099)

ViNT 11.07.2008 14:47

Lib_base64: реализация алгоритма base64.
 
Вложений: 1
Lib_base64 - реализация алгоритма base64.

Кодирование производится функцией encode_string,
декодирование - функцией decode_string

JAVA:
public static String encode_string(String data);
public static String decodes_tring(String data);


PASCAL:
function encode_string(data:string):string;
function decode_string(data:string):string;

Пример использования:

PHP код:

program Base64v3Test;
uses base64v3;
var
 
s1:string;
 
s:string;
begin
  s1
:='string строка /*+-=data';
  
drawText(s1,0,0);
  
s:=encode_string(s1);
  
drawText(s,0,20);
  
s:=decode_string(s);
  
drawText(s,0,40);
    
repaint;    
    
delay(2000);
end

Проверено на SE k510i.

SBJoker 11.07.2008 18:23

Ответ: Lib_base64: реализация криптографического алгоритма base64.
 
Сорри за флуд однако base64 вовсе не криптографический, т.е. это не шифрование ради скрытия информации. Это простая перекодировка из 8и битного словаря на котором базируется кодировка ASCII в 6и битную кодировку, в которой по стандарту в интернете должны называться все файлы и передаваться информация.

Естественно платой за понижение разрядности данных, выступает избыточность данных, а точнее увеличение затрачиваемой памяти, или визуальное удлинение перекодированого текста.

Эта кодировка используется при передаче двоичных данных посредством текстовых символов основной части кодировки ASCII. Например - вложения файлов в письма, POST и GET запросы браузеров.

ViNT 11.07.2008 19:06

Ответ: Lib_base64: реализация криптографического алгоритма base64.
 
Цитата:

Сообщение от SBJoker (Сообщение 82088)
Сорри за флуд однако base64 вовсе не криптографический

Ну это я немнго напутал.

Seregakz 14.07.2008 12:12

Ответ: Lib_base64: реализация алгоритма base64.
 
Народ тут токо encode ??? можете сделать и енкоде и декоде??

ViNT 14.07.2008 13:57

Ответ: Lib_base64: реализация алгоритма base64.
 
Попробую сделать декодер, но пока не найти понятный алгоритм.

ViNT 14.07.2008 14:42

Ответ: Lib_base64: реализация алгоритма base64.
 
Вложений: 1
Вторая версия, теперь есть кодирование и декодирование.

Кодирование производится функцией encodestring,
декодирование - функцией decodestring

JAVA:
public static String encodestring(String string);
public static String decodestring(String string);


PASCAL:
function encodestring(string:string):string;
function decodestring(string:string):string;

Пример использования:

PHP код:

program base64edtest;
uses base64v2;
var
 
s:string;
begin
  s
:=encodestring('string1');
  
drawtext(s,0,0);
  
S:=decodestring(s);
    
drawText(s010);
    
repaint;    
    
delay(2000);
end


Skythrone 23.07.2008 14:40

Ответ: Lib_base64: реализация алгоритма base64.
 
На эмуляторах SjBoy и MidpX функции кодирования и декодирования работают как-то странно. Гляди:

Код:

workstr:='test тест текста';
debug(workstr); delay(1000);
// выдаёт на экран: test тест текста

workstr:=base64v2.encodestring(workstr);
debug(workstr); delay(1000);
// выдаёт на экран: dGVzdCA/Pz8/ID8...

workstr:=base64v2.decodestring(workstr);
debug(workstr); delay(1000);
// выдаёт на экран: test ???? ??????


ViNT 23.07.2008 15:44

Ответ: Lib_base64: реализация алгоритма base64.
 
Просто похоже декодированная строка имеет кодировку win-1251, а эмулятор её не понимает.

Skythrone 23.07.2008 16:27

Ответ: Lib_base64: реализация алгоритма base64.
 
Да, но по идее, функции encodestring и decodestring должны быть однозначными - что закодировали, то и раскодировали.
Иначе какой смысл в таком кодировании?

Изначально-то ведь у меня нормальная и читаемая строчка, а на выходе получаются одни знаки вопроса, с которыми уже ничего не сделать.

ViNT 23.07.2008 16:31

Ответ: Lib_base64: реализация алгоритма base64.
 
Похоже, виноват эмулятор. У меня на WTK с русскими символами все нормально - что закодировал, то и выдает.

Skythrone 23.07.2008 16:38

Ответ: Lib_base64: реализация алгоритма base64.
 
Наверное.

Просто у меня такая позиция: если мидлет работает на ВСЕХ эмуляторах, то есть некоторая вероятность, что он будет более-менее работать на реальных телефонах.

Если же мидлет работает некорректно, причём сразу на двух совершенно разных эмуляторах, его работоспособность на реальных телефонах вообще под большим вопросом.

Skythrone 04.08.2008 02:45

Ответ: Lib_base64: реализация алгоритма base64.
 
Алгоритм работает весьма быстро, тут полный респект с моей стороны. :)

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

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

Код:

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
npqytsfQ4DDTw1LkqO7vuf/Z

Другими алгоритмами декодирования (например, на php) строчка раскодируется совершенно без проблем.

Piligrim 04.08.2008 11:16

Ответ: Lib_base64: реализация алгоритма base64.
 
Вложений: 1
Класс, который и кодирует и декодирует и в плюс к этому жмет еще и в gzip перед кодированием, ну и разжимает естественно. Можно библиотеку на его базе переписать

SBJoker 04.08.2008 12:07

Ответ: Lib_base64: реализация алгоритма base64.
 
Эээ, а разве слэш входит в набор допустимых символов в base64?

Skythrone 04.08.2008 12:12

Ответ: Lib_base64: реализация алгоритма base64.
 
Да, входит. Вот алфавит Base64:

Код:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Почему зависает раскодирование в мидлете - ума не приложу. :(
Код корректный, объём небольшой, другими декодерами вполне себе раскодируется.


Часовой пояс GMT +4, время: 10:14.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot