Programme JavaScript pour encoder une chaîne en Base64

Dans cet exemple, vous apprendrez à écrire un programme JavaScript qui encodera une chaîne en Base64.

Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation JavaScript suivants:

  • Chaîne JavaScript

Base64 est un groupe de schémas de codage binaire en texte qui représentent des données binaires dans un format de chaîne ASCII en les traduisant en une représentation radix-64.

Exemple 1: encoder une chaîne en Base64 à l'aide de 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);

Production

 TGVhcm5pbmcgSmF2YVNjcmlwdA == Apprentissage de JavaScript

Dans l'exemple ci-dessus, la btoa()méthode est utilisée pour convertir la chaîne en Base64 .

La atob()méthode est utilisée pour convertir le Base64 en chaîne.

Exemple 2: encoder une chaîne en Base64 à l'aide d'un objet 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);

Production

 TGVhcm5pbmcgSmF2YVNjcmlwdA == Apprentissage de JavaScript. 

La encode()méthode encode une chaîne en Base64. La decode()méthode décode le Base64 en une chaîne.

Articles intéressants...