xxxxxxxxxx
const encoded = window.btoa('Alireza Dezfoolian'); // encode a string
const decoded = window.atob(encoded); // decode the string
xxxxxxxxxx
var string = "Hello folks how are you doing today?";
var encodedString = btoa(string); // Base64 encode the String
var decodedString = atob(encodedString); // Base64 decode the String
xxxxxxxxxx
let str = 'bmltZXNoZGV1amEuY29t';
let buff = new Buffer(str, 'base64');
let base64ToStringNew = buff.toString('utf8');
xxxxxxxxxx
const data = 'CodezUp';
console.log('---ORIGINAL-----', data)
// Encode String
const encode = Buffer.from(data).toString('base64')
console.log('\n---ENCODED-----', encode)
// Decode String
const decode = Buffer.from(encode, 'base64').toString('utf-8')
console.log('\n---DECODED-----', decode)
xxxxxxxxxx
const base64Encode = (string) => {
const newText = btoa(string);
return newText;
};
xxxxxxxxxx
str = "The quick brown fox jumps over the lazy dog";
b64 = btoa(unescape(encodeURIComponent(str)));
str = decodeURIComponent(escape(window.atob(b64)));
xxxxxxxxxx
const stringToBase64 = (str) => {
const base64 = btoa(str);
return base64;
};
const inputString = "Hello World!";
const base64String = stringToBase64(inputString);
console.log(base64String);
xxxxxxxxxx
function toBinary(string) {
const codeUnits = new Uint16Array(string.length);
for (let i = 0; i < codeUnits.length; i++) {
codeUnits[i] = string.charCodeAt(i);
}
return String.fromCharCode(new Uint8Array(codeUnits.buffer));
}
function fromBinary(binary) {
const bytes = new Uint8Array(binary.length);
for (let i = 0; i < bytes.length; i++) {
bytes[i] = binary.charCodeAt(i);
}
return String.fromCharCode(new Uint16Array(bytes.buffer));
}
const myString = "☸☹☺☻☼☾☿"
// console.log(btoa(myString)) // Error InvalidCharacterError: The string to be encoded contains characters outside of the Latin1 range.
const converted = toBinary(myString)
const encoded = btoa(converted)
console.log(encoded)
const decoded = atob(encoded)
const original = fromBinary(decoded)
console.log(original);
xxxxxxxxxx
const encode = bitstr => {
const bytes = [];
// convert bit string to BigInt
let value = BigInt('0b' + bitstr);
// chop it up into bytes
while (value > 0n) {
bytes.unshift(Number(value & 0xffn));
value >>= 8n;
}
// convert to binary string and encode as base64
return btoa(String.fromCharCode.apply(null, bytes));
};
const decode = b64 => {
// decode base64 to binary string
const bstr = atob(b64);
// convert binary string to bit string
return new Array(bstr.length).fill(0).map(
(_,i) => bstr.charCodeAt(i).toString(2).padStart(8, i ? '0' : '')
).join('');
};
const bitstr = '100110110101000110100011011001100010110100011011001100100110100011000001100000110000011000001100001001010100111110000011001111100101010011111010011100010110001001001001100000110100111010010100111110000111001000100000110001001000101100111110011001001001101011010001011001001101001010000011000100100100110000011010011';
const encoded = encode(bitstr);
const decoded = decode(encoded);
console.log(bitstr);
console.log(encoded);
console.log(decoded);
Run code snippetHide results