A simple Base32 encode / decode function for JavaScript supports UTF-8 encoding.
npm install hi-base32bower install hi-base32
For node.js, you can use this command to install:
npm install hi-base32
JavaScript
base32.encode('String to encode');
base32.decode('Base32 string to decode');
`
If you use node.js, you should require the module first:
`JavaScript
var base32 = require('hi-base32');
`
It supports AMD:
`JavaScript
require(['your/path/hi-baes32.js'], function (baes32) {
// ...
});
`TypeScript
`TypeScript
import * as base32 from 'hi-base32';
// or
// import { encode, decode } from 'hi-base32';base32.encode('String to encode');
base32.decode('Base32 string to decode');
`$3
#### 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 ArrayBufferInput 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:
StringBase32 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:
StringBase32 string to decode.
Example
`JavaScript
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.');
// JVQW4IDJOMQGI2LTORUW4Z3VNFZWQZLEFQQG433UEBXW43DZEBRHSIDINFZSA4TFMFZW63RMEBRHK5BAMJ4SA5DINFZSA43JNZTXK3DBOIQHAYLTONUW63RAMZZG63JAN52GQZLSEBQW42LNMFWHGLBAO5UGSY3IEBUXGIDBEBWHK43UEBXWMIDUNBSSA3LJNZSCYIDUNBQXIIDCPEQGCIDQMVZHGZLWMVZGC3TDMUQG6ZRAMRSWY2LHNB2CA2LOEB2GQZJAMNXW45DJNZ2WKZBAMFXGIIDJNZSGKZTBORUWOYLCNRSSAZ3FNZSXEYLUNFXW4IDPMYQGW3TPO5WGKZDHMUWCAZLYMNSWKZDTEB2GQZJAONUG64TUEB3GK2DFNVSW4Y3FEBXWMIDBNZ4SAY3BOJXGC3BAOBWGKYLTOVZGKLQ=
base32.decode('JBSWY3DP'); // Hello
base32.decode.asBytes('JBSWY3DP'); // [72, 101, 108, 108, 111]// It also supports UTF-8 encoding
base32.encode('中文'); // 4S4K3ZUWQ4======
``