base32lib

1.0.5 • Public • Published

Base 32 encoding/decoding for JavaScript

License npm version

Base 32 is between hexadecimal notation and Base 64 encoding. It's intended to be a human-friendly -- you don't have to worry about punctuation, capitalization, or letters/numbers that are easy to confuse, making it easier to transmit in handwriting or over the phone.

Base 32 will work the same with upper- or lowercase, you can mistake a number for a similar-looking letter, and it will still decode to the same data.

Getting started

In your shell, install with npm:

npm install base32lib

In your code:

const base32lib = require('base32lib')

// encodings available: crockford, rfc4648, z-32, geohash, 32hex
// The default one is RFC4648
const encoded = base32lib.encode('some data to encode 123', 'rfc4648') //onxw2zjamrqxiyjaorxsazlomnxwizjagezdg===
const encoded2 = base32lib.encode('Some data to encOde 123') //onxw2zjamrqxiyjaorxsazlomnxwizjagezdg===
console.log(encoded === encoded2) // true
const decoded = base32lib.decode(encoded) // some data to encode 123

The main specifications of something called "Base 32" are present in this library: RFC4648, Crockford, z-32, geohash, 32hex - see Wikipedia for some of them.

Minispec

  • When decoding, capital letters are converted to lowercase and the depending on the spec "ambiguous" letters mentioned might be converted to their numeric counterparts.
  • Each character corresponds to 5 bits of input.
  • Lexicographic order of strings is preserved through Base 32 encoding.

Formalia

Under MIT License.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.0.5154latest
1.0.5154base32
1.0.5154encode
1.0.5154decode
1.0.5154crockford
1.0.5154rfc4648
1.0.5154z-32
1.0.5154geohash

Version History

VersionDownloads (Last 7 Days)Published
1.0.5154
1.0.40
1.0.30
1.0.20
1.0.10
1.0.00

Package Sidebar

Install

npm i base32lib

Weekly Downloads

137

Version

1.0.5

License

MIT

Unpacked Size

16.2 kB

Total Files

9

Last publish

Collaborators

  • mdandre