Πρόγραμμα JavaScript για την κωδικοποίηση μιας συμβολοσειράς στη βάση64

Σε αυτό το παράδειγμα, θα μάθετε να γράφετε ένα πρόγραμμα JavaScript που θα κωδικοποιεί μια συμβολοσειρά στο Base64.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες ενότητες προγραμματισμού JavaScript:

  • Συμβολοσειρά JavaScript

Το Base64 είναι μια ομάδα σχημάτων κωδικοποίησης δυαδικού κειμένου που αντιπροσωπεύουν δυαδικά δεδομένα σε μορφή συμβολοσειράς ASCII μεταφράζοντάς τα σε παράσταση radix-64.

Παράδειγμα 1: Κωδικοποίηση συμβολοσειράς στη βάση64 χρησιμοποιώντας το 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);

Παραγωγή

 TGVhcm5pbmcgSmF2YVNjcmlwdA == Εκμάθηση JavaScript

Στο παραπάνω παράδειγμα, η btoa()μέθοδος χρησιμοποιείται για τη μετατροπή της συμβολοσειράς σε Base64 .

Η atob()μέθοδος χρησιμοποιείται για τη μετατροπή του Base64 σε συμβολοσειρά.

Παράδειγμα 2: Κωδικοποίηση συμβολοσειράς στο Base64 χρησιμοποιώντας το αντικείμενο 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);

Παραγωγή

 TGVhcm5pbmcgSmF2YVNjcmlwdA == Εκμάθηση JavaScript. 

Η encode()μέθοδος κωδικοποιεί μια συμβολοσειρά στο Base64. Η decode()μέθοδος αποκωδικοποιεί το Base64 σε μια συμβολοσειρά.

ενδιαφέροντα άρθρα...