Nová ukázka
Reset
Načíst z URL
Uložit a získat odkaz
Vztahuje se k…
Nevyplňujte
Napiště „nejsem robot“
▶
Přepnout zobrazení
Výsledek
HTML
Autoformát
Standardní režim
Mobilní zobrazení
CSS
Autoformát
CSS reset
Až na konci
var B64 = (function() { var alph_chars = {}; // obsahuje 65 -> A var alph_codes = {}; // obsahuje A -> 65 for (var i = 0; i < 256; i++) { alph_chars[i] = String.fromCharCode(i); alph_codes[alph_chars[i]] = i; } var b64_alph = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var b64_chars = {}; // obsahuje 0 -> A var b64_codes = {}; // obsahuje A -> 0 for (var i = 0; i < b64_alph.length; i++) { b64_chars[i] = b64_alph.charAt(i); b64_codes[b64_chars[i]] = i; } function transcode(input, from, fromBits, to, toBits) { var output = []; // pole převedených znaků var buffer = 0; var bits = 0; // kolik platných bitů máme v bufferu for (var i = 0; i < input.length; i++) { // čteme po znacích var c = from[input.charAt(i)]; if (c === undefined) { // zastavíme se, když najdeme neznámý znak break; } buffer = (buffer << fromBits) + c; // uložíme do bufferu bits += fromBits; while (bits >= toBits) { // přidáme do output hotové znaky var b = buffer >> (bits - toBits); // znak v bufferu output.push(to[b]); buffer -= b << (bits - toBits); // odstraníme znak z bufferu bits -= toBits; } } return { // vrátíme mezivýsledek output: output, buffer: buffer, bits: bits }; } return { decode: function(input) { var obb = transcode(input, b64_codes, 6, alph_chars, 8); // všechny platné znaky byly dekódované return obb.output.join(""); }, encode: function(input) { var obb = transcode(input, alph_codes, 8, b64_chars, 6); // v bufferu mohly zůstat nějaké bity if (obb.bits > 0) { // vypíšeme nehotový znak obb.output.push(b64_chars[obb.buffer << (6 - obb.bits)]); for (; obb.bits < 6; obb.bits += 2) { obb.output.push("="); // doplníme rovnítka } } return obb.output.join(""); } }; })(); var m = B64.encode("koder a dekoder Base64"); alert(m); alert(B64.decode(m));
J
ava
S
cript
Autoformát
jQuery
Umístění JS
window.onload
</head>
</body>