JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 428335
  • Score
    100M100P100Q184456F
  • License MIT

A simple Base32 encode / decode function for JavaScript supports UTF-8 encoding.

Package Exports

  • hi-base32

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (hi-base32) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

hi-base32

A simple Base32(RFC 4648) encode / decode function for JavaScript supports UTF-8 encoding.
Build Status Build Status
NPM

Demo

Base32 Encode Online
Base32 Decode Online

Download

Compress
Uncompress

Installation

You can also install hi-base32 by using Bower.

bower install hi-base32

For node.js, you can use this command to install:

npm install hi-base32

Usage

You could use like this:

base32.encode('String to encode');
base32.decode('Base32 string to decode');

If you use node.js, you should require the module first:

base32 = require('hi-base32');

Methods

base32.encode(input, asciiOnly)

Encode string or bytes to base32, set asciiOnly to true for better performace if it is.

input: String, Array, Uint8Array or ArrayBuffer

Input string or bytes to encode.

asciiOnly: Boolean (default: false)

Specify the string encoding is ASCII. It only works when string input.

base32.decode(base32Str, asciiOnly)

Decode base32 string, set asciiOnly to true for better performace.

base32Str: String

Base32 string to decode.

asciiOnly: Boolean (default: false)

Specify the string encoding is ASCII.

base32.decode.asBytes(base32Str)

Decode base32 string and return byte Array

base32Str: String

Base32 string to decode.

Example

Code

base32.encode('Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure.');
base32.decode('JBSWY3DP');
base32.decode.asBytes('JBSWY3DP');

Output

JVQW4IDJOMQGI2LTORUW4Z3VNFZWQZLEFQQG433UEBXW43DZEBRHSIDINFZSA4TFMFZW63RMEBRHK5BAMJ4SA5DINFZSA43JNZTXK3DBOIQHAYLTONUW63RAMZZG63JAN52GQZLSEBQW42LNMFWHGLBAO5UGSY3IEBUXGIDBEBWHK43UEBXWMIDUNBSSA3LJNZSCYIDUNBQXIIDCPEQGCIDQMVZHGZLWMVZGC3TDMUQG6ZRAMRSWY2LHNB2CA2LOEB2GQZJAMNXW45DJNZ2WKZBAMFXGIIDJNZSGKZTBORUWOYLCNRSSAZ3FNZSXEYLUNFXW4IDPMYQGW3TPO5WGKZDHMUWCAZLYMNSWKZDTEB2GQZJAONUG64TUEB3GK2DFNVSW4Y3FEBXWMIDBNZ4SAY3BOJXGC3BAOBWGKYLTOVZGKLQ=
Hello
[72, 101, 108, 108, 111]

It also supports UTF-8 encoding:

Code

base32.encode('中文');

Output

4S4K3ZUWQ4======

Extensions

jQuery

If you prefer jQuery style, you can add following code to add a jQuery extension.

Code

jQuery.base32 = base32

And then you could use like this:

$.base32.encode('String to encode');
$.base32.decode('Base32 string to decode');

Prototype

If you prefer prototype style, you can add following code to add a prototype extension.

Code

String.prototype.base32Encode = function(asciiOnly) {
  return base32.encode(this, asciiOnly);
};
String.prototype.base32Decode = function(asciiOnly) {
  return base32.decode(this, asciiOnly);
};

And then you could use like this:

'String to encode'.base32Encode();
'Base32 string to decode'.base32Decode();

License

The project is released under the MIT license.

Contact

The project's website is located at https://github.com/emn178/hi-base32
Author: emn178@gmail.com