Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Base64 в JavaScript

13
24 августа 2006 года
RussianSpy
3.0K / / 04.07.2006
Устал от свистопляски с кодировками на разных хостингах потому задаю такой вопрос. Админка CMS построена на AJAX. На разных хостингах свои геморои с кодировками и дабы оградить себя от внесения изменений для каждого хостера решил упаковывать строки передаваемые страницей серверному скрипту с помощью base64. Кто-нибудь встречался с реализацией такой упаковки на JavaScript?

ЗЫ Раскопки в MSDN результата не принесли.
12
26 августа 2006 года
alekciy
3.0K / / 13.12.2005
Что-то для JS я такого не припомню...
Может подойдем с другой стороны? Чем UTF-8 плох? encodeURI в руки... то есть в код!
12
26 августа 2006 года
alekciy
3.0K / / 13.12.2005
Хотя вот еще что есть: http://experiment.net.ru/js1/?f=window.htm#1201548
и
http://experiment.net.ru/js1/?f=window.htm#1201650
13
26 августа 2006 года
RussianSpy
3.0K / / 04.07.2006
encodeURI уже есть...
Ладно... Будем думать как обойти все это
12
26 августа 2006 года
alekciy
3.0K / / 13.12.2005
Хм... а чем же window.btoa не подошел-то? Вроде как самое то: передал в метод строку, получил строку же, но кодированую по base64....
13
26 августа 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=alekciy]Хм... а чем же window.btoa не подошел-то? Вроде как самое то: передал в метод строку, получил строку же, но кодированую по base64....[/QUOTE]
В этом месте пожалуйста поподробнее... Поиск в MSDN ничего не дал.
12
26 августа 2006 года
alekciy
3.0K / / 13.12.2005
На описание методов я вообще-то привел две ссылки уже в третьем посте темы.
13
26 августа 2006 года
RussianSpy
3.0K / / 04.07.2006
Я не знаю где они откопали эту функцию, но работает она только в ФФ и больше нигде.
В Опере вызывает странную ошибку "Type mismatch (usually a non-object value used where an object is required)"
В осле просто игнорится.
Вот код - проверь сам:
 
Код:
<html>
<body>
<div id="txt1"></div>
</body>
</html>
<script>
encodedData = window.btoa('hasdj asdjhasdh  asd ');
document.getElementById('txt1').innerHTML=encodedData;
alert(encodedData.length);
</script>
12
30 августа 2006 года
alekciy
3.0K / / 13.12.2005
У меня и в FF не заводится)))
Видимо это придумка Мозилы (http://developer.mozilla.org/en/docs/DOM:window.btoa) поэтому только в её движка и держится. Придумка в принципе полезная, тольк на данный момент это не все понимают. Возможно через некоторое количество лет это будет поддержано и другими браузерами.
А пока...
13
30 августа 2006 года
RussianSpy
3.0K / / 04.07.2006
А пока надо найти реализацию base64 на С++ и переписать на JavaScript.
12
30 августа 2006 года
alekciy
3.0K / / 13.12.2005
Ээээ... что-то смысл это я не улавливаю... Ведь клиенту придется подключать этот шифратор к странице? Так ведь? Через тег OBJECT.
13
30 августа 2006 года
RussianSpy
3.0K / / 04.07.2006
Зачем? Я же говорю ПЕРЕПИСАТЬ на JavaScript. А не скомпилировать С++
12
30 августа 2006 года
alekciy
3.0K / / 13.12.2005
Просто я как-то не улавливаю, что значит "переписать". Используя функции JS которые держат все браузеры написать такую функцию, которая бы переданную в ней строку кодировала и возращала закодированную строку?
13
30 августа 2006 года
RussianSpy
3.0K / / 04.07.2006
именно!
не думаю что это очень сложно
13
01 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
Собственно вот оно решение уже написано хорошими людьми.
Идем сюда и фтыкаем.
http://www.webtoolkit.info/javascript/base64-encode-decode/
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог