JavaScriptový program na kódovanie reťazca do Base64

V tomto príklade sa naučíte písať program JavaScript, ktorý bude kódovať reťazec do Base64.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku JavaScript:

  • Reťazec JavaScript

Base64 je skupina schém kódovania binárneho textu, ktorá predstavuje binárne údaje vo formáte reťazca ASCII ich prekladom do reprezentácie radix-64.

Príklad 1: Zakódovanie reťazca na Base64 pomocou btoa ()

 // program to encode a string to Base64 // defining the string const str = "Learning JavaScript"; // encoding the string const result = window.btoa(str); console.log(result); // decoding the string const result1 = window.atob(result); console.log(result1);

Výkon

 TGVhcm5pbmcgSmF2YVNjcmlwdA == Učenie JavaScriptu

Vo vyššie uvedenom príklade sa btoa()metóda používa na prevod reťazca na Base64 .

atob()Metóda sa používa pre konverziu Base64 na reťazec.

Príklad 2: Zakódujte reťazec na Base64 pomocou objektu Base64

 // program to encode a string to Base64 // create Base64 Object const Base64 = ( // private property _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", // public method for encoding encode : function (input) ( let output = ""; let chr1, chr2, chr3, enc1, enc2, enc3, enc4; let i = 0; input = Base64._utf8_encode(input); while (i > 2; enc2 = ((chr1 & 3) <> 4); enc3 = ((chr2 & 15) <> 6); enc4 = chr3 & 63; if (isNaN(chr2)) ( enc3 = enc4 = 64; ) else if (isNaN(chr3)) ( enc4 = 64; ) output = output + Base64._keyStr.charAt(enc1) + Base64._keyStr.charAt(enc2) + Base64._keyStr.charAt(enc3) + Base64._keyStr.charAt(enc4); ) return output; ), // public method for decoding decode : function (input) ( let output = ""; let chr1, chr2, chr3; let enc1, enc2, enc3, enc4; let i = 0; input = input.replace(/(^A-Za-z0-9+/=)/g, ""); while (i < input.length) ( enc1 = Base64._keyStr.indexOf(input.charAt(i++)); enc2 = Base64._keyStr.indexOf(input.charAt(i++)); enc3 = Base64._keyStr.indexOf(input.charAt(i++)); enc4 = Base64._keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 <> 4); chr2 = ((enc2 & 15) <> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) ( output = output + String.fromCharCode(chr2); ) if (enc4 != 64) ( output = output + String.fromCharCode(chr3); ) ) output = Base64._utf8_decode(output); return output; ), // private method for UTF-8 encoding _utf8_encode : function (string) ( string = string.replace(//g,""); let utftext = ""; for (let n = 0; n < string.length; n++) ( let c = string.charCodeAt(n); if (c 127) && (c > 6) | 192); utftext += String.fromCharCode((c & 63) | 128); ) else ( utftext += String.fromCharCode((c>> 12) | 224); utftext += String.fromCharCode(((c>> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); ) ) return utftext; ), // private method for UTF-8 decoding _utf8_decode : function (utftext) ( let string = ""; let i = 0; let c = c1 = c2 = 0; while ( i < utftext.length ) ( c = utftext.charCodeAt(i); if (c 191) && (c < 224)) ( c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; ) else ( c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; ) ) return string; ) ) // define the string const string = 'Learning JavaScript'; // encode the String const encodedString = Base64.encode(string); console.log(encodedString); // decode the String const decodedString = Base64.decode(encodedString); console.log(decodedString);

Výkon

 TGVhcm5pbmcgSmF2YVNjcmlwdA == Učenie JavaScriptu. 

encode()Metóda kóduje reťazec Base64. decode()Metóda dekóduje Base64 na reťazec.

Zaujímavé články...