Skip to content

Repository files navigation

Base 32 encoding/decoding for JavaScript

Licensenpm 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:

constbase32lib=require('base32lib')// encodings available: crockford, rfc4648, z-32, geohash, 32hex// The default one is RFC4648constencoded=base32lib.encode('some data to encode 123','rfc4648')//onxw2zjamrqxiyjaorxsazlomnxwizjagezdg===constencoded2=base32lib.encode('Some data to encOde 123')//onxw2zjamrqxiyjaorxsazlomnxwizjagezdg===console.log(encoded===encoded2)// trueconstdecoded=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.

About

No description or website provided.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages