Course
Introduction
Print Hello WorldAdd Two NumbersFind the Square RootCalculate the Area of a TriangleSwap Two VariablesConvert Kilometers to MilesConvert Celsius to FahrenheitWork With ConstantsWrite to ConsoleControl Flow
Solve Quadratic EquationCheck if a number is Positive, Negative, or ZeroCheck if a Number is Odd or EvenFind the Largest Among Three NumbersCheck Prime NumberPrint All Prime Numbers in an IntervalFind the Factorial of a NumberDisplay the Multiplication TablePrint the Fibonacci SequenceCheck Armstrong NumberFind Armstrong Number in an IntervalMake a Simple CalculatorFind the Sum of Natural NumbersCheck if the Numbers Have Same Last DigitFind HCF or GCDFind LCMFind the Factors of a NumberDisplay Fibonacci Sequence Using RecursionFunctions
Generate a Random NumberFind Sum of Natural Numbers Using RecursionGuess a Random NumberFind Factorial of Number Using RecursionConvert Decimal to BinaryFind ASCII Value of CharacterSet a Default Parameter Value For a FunctionCheck If a Variable is of Function TypePass Parameter to a setTimeout() FunctionPerform Function OverloadingPass a Function as ParameterArrays and Objects
Shuffle Deck of CardsCreate Objects in Different WaysRemove a Property from an ObjectCheck if a Key Exists in an ObjectClone a JS ObjectLoop Through an ObjectMerge Property of Two ObjectsCount the Number of Keys/Properties in an ObjectAdd Key/Value Pair to an ObjectConvert Objects to StringsReplace all Instances of a Character in a StringRemove Specific Item From an ArrayCheck if An Array Contains a Specified ValueInsert Item in an ArrayAppend an Object to an ArrayCheck if An Object is An ArrayEmpty an ArrayAdd Element to Start of an ArrayRemove Duplicates From ArrayMerge Two Arrays and Remove Duplicate ItemsSort Array of Objects by Property ValuesCreate Two Dimensional ArrayExtract Given Property Values from Objects as ArrayCompare Elements of Two ArraysGet Random Item From an ArrayPerform Intersection Between Two ArraysSplit Array into Smaller ChunksCheck If A Variable Is undefined or nullIllustrate Different Set OperationsStrings
Check Whether a String is Palindrome or NotSort Words in Alphabetical OrderReplace Characters of a StringReverse a StringCheck the Number of Occurrences of a Character in the StringConvert the First Letter of a String into UpperCaseCount the Number of Vowels in a StringCheck Whether a String Starts and Ends With Certain CharactersReplace All Occurrences of a StringCreate Multiline StringsFormat Numbers as Currency StringsGenerate Random StringCheck if a String Starts With Another StringTrim a StringCheck Whether a String Contains a SubstringCompare Two StringsEncode a String to Base64Replace All Line Breaks withGet File ExtensionGenerate a Range of Numbers and CharactersRemove All Whitespaces From a TextMiscellaneous
Display Date and TimeCheck Leap YearFormat the DateDisplay Current DateCompare The Value of Two DatesCreate Countdown TimerInclude a JS file in Another JS fileGenerate a Random Number Between Two NumbersGet The Current URLValidate An Email AddressImplement a StackImplement a QueueCheck if a Number is Float or IntegerGet the Dimensions of an ImageConvert Date to NumberJavaScript Program to Encode a String to Base64
To understand this example, you should have the knowledge of the following JavaScript programming topics:
Base64 is a group of binary-to-text encoding schemes that represent binary data in an ASCII string format by translating it into a radix-64 representation.
Example 1: Encode a String to Base64 Using 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);
Output
TGVhcm5pbmcgSmF2YVNjcmlwdA==
Learning JavaScript
In the above example, the btoa()
method is used to convert the string to Base64.
The atob()
method is used to convert the Base64 to a string.
Example 2: Encode a String to Base64 Using Base64 Object
// 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 < input.length) {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 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 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 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(/\r\n/g,"\n");
let utftext = "";
for (let n = 0; n < string.length; n++) {
let c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
}
else if((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((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 < 128) {
string += String.fromCharCode(c);
i++;
}
else 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);
Output
TGVhcm5pbmcgSmF2YVNjcmlwdA==
Learning JavaScript.
The encode()
method encodes a string to Base64. The decode()
method decodes the Base64 to a string.
Also Read: