b64u
v3.0.0
Published
Tiny, lightweight module for encoding and decoding Base64 URLs
Downloads
26,880
Maintainers
Readme
⚡ b64u
A tiny, lightweight module for encoding and decoding Base64 URLs (RFC 4648). Supports TypeScript, but also works without it.
NOTE: if you were previously using the unmaintained base64url
package, this library is API-identical.
Requirements
- NodeJS 8+
Installation
Install via yarn:
yarn add b64u
Or via NPM:
npm install --save b64u
Example
import b64u from 'b64u'
b64u('A tiny, lightweight module')
// 'QSB0aW55LCBsaWdodHdlaWdodCBtb2R1bGU'
b64u.encode('A tiny, lightweight module')
// 'QSB0aW55LCBsaWdodHdlaWdodCBtb2R1bGU'
b64u.decode('Zm9yIGVuY29kaW5nIGFuZCBkZWNvZGluZyBCYXNlNjQgVVJMcw')
// 'for encoding and decoding Base64 URLs'
b64u.toBase64('QSB0aW55LCBsaWdodHdlaWdodCBtb2R1bGU')
// 'QSB0aW55LCBsaWdodHdlaWdodCBtb2R1bGU='
b64u.fromBase64('QSB0aW55LCBsaWdodHdlaWdodCBtb2R1bGU=')
// 'QSB0aW55LCBsaWdodHdlaWdodCBtb2R1bGU'
b64u.toBuffer(b64u('tiny'))
// <Buffer 74 69 6e 79>
Usage
Either require or import the library:
const b64u = require('b64u')
import b64u from 'b64u'
API
b64u(input: string | Buffer, encoding = 'utf8'): string
b64u.encode(input: string | Buffer, encoding = 'utf8'): string
Encodes an input
string or buffer into a Base64 URL. Optionally specify an encoding
.
Example
b64u('A tiny, lightweight module')
// 'QSB0aW55LCBsaWdodHdlaWdodCBtb2R1bGU'
b64u.encode('A tiny, lightweight module')
// 'QSB0aW55LCBsaWdodHdlaWdodCBtb2R1bGU'
b64u.decode(input: string | Buffer, encoding = 'utf8'): string
Decodes an input
Base64 URL into a raw string. Optionally specify an encoding
.
Example
b64u.decode('Zm9yIGVuY29kaW5nIGFuZCBkZWNvZGluZyBCYXNlNjQgVVJMcw')
// 'for encoding and decoding Base64 URLs'
b64u.toBase64(input: string): string
Converts an input
Base64 URL into a plain Base64 string.
Example
b64u.toBase64('QSB0aW55LCBsaWdodHdlaWdodCBtb2R1bGU')
// 'QSB0aW55LCBsaWdodHdlaWdodCBtb2R1bGU='
b64u.fromBase64(input: string): string
Converts an input
plain Base64 string into a Base64 URL.
Example
b64u.fromBase64('QSB0aW55LCBsaWdodHdlaWdodCBtb2R1bGU=')
// 'QSB0aW55LCBsaWdodHdlaWdodCBtb2R1bGU'
b64u.toBuffer(input: string): Buffer
Converts an input
Base64 URL into a Buffer with the raw bytes.
Example
b64u.toBuffer(b64u('tiny'))
// <Buffer 74 69 6e 79>
Background
This library began as an API-identical fork of the base64url
package, as that package has not been updated since 2016 and currently suffers from a critical issue that prevents its use with TypeScript and any version of NodeJS other than Node 6.0.0.
Why the name, b64u
? It's a tiny, lightweight name for a tiny, lightweight module!
License
The MIT license. See LICENSE
.
Copyright (c) 2018 Jacob Gillespie
Copyright (c) 2013–2016 Brian J. Brennan