Base64 encoding and decoding for both browser and node, with binary file support.
If you've ever done base64 coding on the frontend side, I think you've noticed that atob and btoa methods are a
problem with utf-8 strings. This package solves the problem, plus, on the backend side, you can use the same package
and syntax with binary files as well.
This package supports CommonJS, ES Modules, and IIFE (Immediately Invoked Function Expression) formats. You can
safely use both require and import statements in any environment. TypeScript also supported.
To get started with base64-transcode, you can install it using yarn or npm or load script in the browser:
yarn add base64-transcodenpm i base64-transcode<script src="https://unpkg.com/base64-transcode/dist/browser.js"></script>const Base64 = require('base64-transcode');
// Decoding
const decodedData = Base64.decode('SGVsbG8gV29ybGQh');
console.log(decodedData); // "Hello World!"
// Encoding
const encodedData = Base64.encode('Hello World!');
console.log(encodedData); // "SGVsbG8gV29ybGQh"import Base64 from 'base64-transcode';
// Decoding
const decodedData = Base64.decode('SGVsbG8gV29ybGQh');
console.log(decodedData); // "Hello World!"
// Encoding
const encodedData = Base64.encode('Hello World!');
console.log(encodedData); // "SGVsbG8gV29ybGQh"<script src="https://unpkg.com/base64-transcode/dist/browser.js"></script>
<script>
// Decoding
const decodedData = Base64.decode('SGVsbG8gV29ybGQh');
console.log(decodedData); // "Hello World!"
// Encoding
const encodedData = Base64.encode('Hello World!');
console.log(encodedData); // "SGVsbG8gV29ybGQh"
</script>-
decode(base64: string, toBuffer?: boolean): string | Uint8Array | BufferDecodes the base64 code. If the
toBufferoption istrue, it returns aUint8Arrayin browser andBufferin node.js, otherwise a string. -
encode(input: string | Uint8Array | Buffer): stringEncodes the given string into base64 code.
To learn about the guidelines, please read the Code of Conduct, Contributing and Security Policy documents.
MIT License @ 2023 Zsolt Tövis
If you found this project interesting, please consider supporting my open source work by sponsoring me on GitHub / sponsoring me on PayPal / give the repo a star.
