<html>
<body>
<div id="txt1"></div>
</body>
</html>
<script>
encodedData = window.btoa('hasdj asdjhasdh asd ');
document.getElementById('txt1').innerHTML=encodedData;
alert(encodedData.length);
</script>
Base64 в JavaScript
ЗЫ Раскопки в MSDN результата не принесли.
Может подойдем с другой стороны? Чем UTF-8 плох? encodeURI в руки... то есть в код!
Ладно... Будем думать как обойти все это
Хм... а чем же window.btoa не подошел-то? Вроде как самое то: передал в метод строку, получил строку же, но кодированую по base64....
В этом месте пожалуйста поподробнее... Поиск в MSDN ничего не дал.
На описание методов я вообще-то привел две ссылки уже в третьем посте темы.
В Опере вызывает странную ошибку "Type mismatch (usually a non-object value used where an object is required)"
В осле просто игнорится.
Вот код - проверь сам:
Код:
Видимо это придумка Мозилы (http://developer.mozilla.org/en/docs/DOM:window.btoa) поэтому только в её движка и держится. Придумка в принципе полезная, тольк на данный момент это не все понимают. Возможно через некоторое количество лет это будет поддержано и другими браузерами.
А пока...
А пока надо найти реализацию base64 на С++ и переписать на JavaScript.
Ээээ... что-то смысл это я не улавливаю... Ведь клиенту придется подключать этот шифратор к странице? Так ведь? Через тег OBJECT.
Зачем? Я же говорю ПЕРЕПИСАТЬ на JavaScript. А не скомпилировать С++
Просто я как-то не улавливаю, что значит "переписать". Используя функции JS которые держат все браузеры написать такую функцию, которая бы переданную в ней строку кодировала и возращала закодированную строку?
не думаю что это очень сложно
Собственно вот оно решение уже написано хорошими людьми.