What is base64url?
The base64url npm package provides utilities for encoding and decoding data in base64url format, which is a URL-safe variant of base64. It is commonly used to encode data in a way that can be safely transmitted over URLs without encoding issues.
What are base64url's main functionalities?
Encoding to base64url
This feature allows you to encode a string or buffer into base64url format. The provided code sample demonstrates how to encode the string 'Hello World!' using the base64url package.
"use strict"; const base64url = require('base64url'); const encoded = base64url('Hello World!'); console.log(encoded);
Decoding from base64url
This feature enables you to decode a base64url encoded string back into its original form. The code sample shows how to decode the string 'SGVsbG8gV29ybGQh' back to 'Hello World!'.
"use strict"; const base64url = require('base64url'); const decoded = base64url.decode('SGVsbG8gV29ybGQh'); console.log(decoded);
From base64 to base64url
This feature allows you to convert a base64 encoded string to a base64url encoded string. The code sample illustrates converting a base64 string 'SGVsbG8gV29ybGQh==' to base64url format.
"use strict"; const base64url = require('base64url'); const base64 = 'SGVsbG8gV29ybGQh=='; const base64urlString = base64url.fromBase64(base64); console.log(base64urlString);
To base64 from base64url
This feature converts a base64url encoded string back to a standard base64 encoded string. The code sample demonstrates converting 'SGVsbG8gV29ybGQh' from base64url to regular base64.
"use strict"; const base64url = require('base64url'); const base64urlString = 'SGVsbG8gV29ybGQh'; const base64 = base64url.toBase64(base64urlString); console.log(base64);
Other packages similar to base64url
js-base64
js-base64 is a robust base64 encoder/decoder that is fully compatible with `atob()` and `btoa()`, built to work in both browser and Node.js environments. It offers similar functionality to base64url but does not focus specifically on URL-safe encoding.
base64-js
base64-js is a package that provides functions to encode and decode base64 data. It is similar to base64url but does not inherently provide URL-safe encoding, which means it might require additional steps to handle URL encoding.
urlsafe-base64
urlsafe-base64 is a package that offers encoding and decoding functions specifically designed to be safe for use in URLs, similar to base64url. It provides a straightforward API for handling base64 encoding with URL safety in mind.
base64url
For turning strings or buffers into base64url encoded strings. It can also convert base64url to regular base64.
install
$ npm install base64url
example
const base64url = require('base64url');
const data = "I am a teapot hear me roar";
const encoded = base64url(data);
const b64 = base64url.toBase64(encoded);
const b64url = base64url.fromBase64(b64)
data === base64url.decode(encoded);