urlsafe_b64encode

by Valentin Sarychev

JavaScript

urlsafe_b64encode = (number) => {
	const buffer = new ArrayBuffer(8);
  const view = new DataView(buffer);
  
  view.setBigInt64(0, BigInt(number));
  
  const bytes = new Uint8Array(buffer).reverse();
  const blob = new Blob([bytes]);
  const reader = new FileReader();
  
  return new Promise((resolve) => {
    reader.onload = () => {
    	resolve(reader.result.replace(/.*base64,/, ''));
    }
    reader.readAsDataURL(blob);
  });
};

urlsafe_b64encode(15042614199956665992).then((base64String) => {
	console.log(base64String);
});