0.3.1 • Published 7 months ago

hi-base64 v0.3.1

Weekly downloads
316
License
MIT
Repository
github
Last release
7 months ago

hi-base64

Build Status Build Status
NPM
A simple Base64 encode / decode function for JavaScript supports UTF-8 encoding.

Demo

Base64 Encode Online
Base64 Decode Online

Download

Compress
Uncompress

Installation

You can also install hi-base64 by using Bower.

bower install hi-base64

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

npm install hi-base64

Usage

Browser

You could use like this:

base64.encode('String to encode');
base64.decode('Base64 string to decode');
base64.decode.bytes('Base64 string to decode as bytes');

CommonJS

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

const { encode, decode } = require('hi-bas64');

ESM

If you use node.js ESM, you can import like this:

import { encode, decode } from 'hi-bas64';

TypeScript

If you use TypeScript, you can import like this:

import { encode, decode } from 'hi-bas64';

RequireJS

It supports AMD:

require(['your/path/base64.js'], function (base64) {
// ...
});

Methods

base64.encode(str, asciiOnly)

Encode string to base64, set asciiOnly to true for better performace.

str: String

String to encode.

asciiOnly: Boolean (default: false)

Specify the string encoding is ASCII.

base64.decode(base64Str, asciiOnly)

Decode base64 string, set asciiOnly to true for better performace. base64.decode.string is alias to this method.

base64Str: String

Base64 string to decode.

asciiOnly: Boolean (default: false)

Specify the string encoding is ASCII.

base64.decode.bytes(base64Str)

Decode base64 string and return bytes Array.

base64Str: String

Base64 string to decode.

Example

Code

base64.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.');
// TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=

base64.decode('VGhpcyBpcyB0ZXN0Lg==');
base64.decode.string('VGhpcyBpcyB0ZXN0Lg==');
// This is test.


/* Supports UTF-8 encoding: */
base64.encode('中文');
// 5Lit5paH


/* Supports bytes: */
base64.encode([0, 1, 2]);
base64.encode(new Uint8Array([0, 1, 2]));
// AAEC

base64.encode(new ArrayBuffer(3));
// AAAA

base64.decode.bytes('VGhpcyBpcyB0ZXN0Lg==');
// [84, 104, 105, 115, 32, 105, 115, 32, 116, 101, 115, 116, 46]

Notice

In node.js, hi-base64 uses Buffer to encode / decode. It will not throw an exception when decoding a non-UTF8 base64 string as UTF-8 string. In browsers, hi-base64 will throw an exception in this case.

License

The project is released under the MIT license.

Contact

The project's website is located at https://github.com/emn178/hi-base64
Author: Chen, Yi-Cyuan emn178@gmail.com