What is multibase?
The 'multibase' npm package provides a way to encode and decode data using various base encoding schemes. It supports a wide range of base encodings, making it useful for applications that need to handle data in different formats.
What are multibase's main functionalities?
Encoding Data
This feature allows you to encode data using a specified base encoding. In this example, the data 'hello world' is encoded using base32.
const multibase = require('multibase');
const data = Buffer.from('hello world');
const encoded = multibase.encode('base32', data);
console.log(encoded.toString());
Decoding Data
This feature allows you to decode data that has been encoded with a base encoding. In this example, the base32 encoded string 'bnbswy3dpeb3w64tmmq' is decoded back to 'hello world'.
const multibase = require('multibase');
const encoded = 'bnbswy3dpeb3w64tmmq';
const decoded = multibase.decode(encoded);
console.log(decoded.toString());
Listing Supported Encodings
This feature provides a list of all supported base encodings. It can be useful to know which encodings are available for use.
const multibase = require('multibase');
const encodings = multibase.names;
console.log(encodings);
Other packages similar to multibase
base-x
The 'base-x' package provides a way to encode and decode data using custom base encodings. It is similar to 'multibase' but focuses on custom base encodings rather than a predefined set of encodings.
base64-js
The 'base64-js' package is specifically designed for base64 encoding and decoding. It is more specialized compared to 'multibase', which supports a wider range of encodings.
bs58
The 'bs58' package provides base58 encoding and decoding. It is similar to 'multibase' in that it handles base encodings, but it is specialized for base58.
js-multibase
JavaScript implementation of the multibase specification
Lead Maintainer
Hugo Dias
Table of Contents
Install
NPM
$ npm install --save multibase
The type definitions for this package are available on http://definitelytyped.org/. To install just use:
$ npm install -D @types/multibase
In the Browser through <script>
tag
Loading this module through a script tag will make the Multibase
obj available in the global namespace.
<script src="https://unpkg.com/multibase/dist/index.min.js"></script>
Usage
Example
const { Buffer } = require('buffer')
const multibase = require('multibase')
const encodedBuf = multibase.encode('base58btc', new Buffer('hey, how is it going'))
const decodedBuf = multibase.decode(encodedBuf)
console.log(decodedBuf.toString())
API
https://multiformats.github.io/js-multibase/
multibase
- Prefixes an encoded buffer with its multibase code
const multibased = multibase(<nameOrCode>, encodedBuf)
multibase.encode
- Encodes a buffer into one of the supported encodings, prefixing it with the multibase code
const encodedBuf = multibase.encode(<nameOrCode>, <buf>)
multibase.decode
- Decodes a buffer or string
const decodedBuf = multibase.decode(bufOrString)
multibase.isEncoded
- Checks if buffer or string is encoded
const value = multibase.isEncoded(bufOrString)
multibase.encoding
- Get the encoding by name or code
const value = multibase.encoding(nameOrCode)
multibase.encodingFromData
- Get the encoding from data either a string
or Buffer
const value = multibase.encodingFromData(data)
multibase.names
A frozen Object
of supported base encoding names mapped to the corresponding Base
instance.
multibase.codes
A frozen Object
of supported base encoding codes mapped to the corresponding Base
instance.
Contribute
Contributions welcome. Please check out the issues.
Check out our contributing document for more information on how we work, and about contributing in general. Please be aware that all interactions related to multiformats are subject to the IPFS Code of Conduct.
Small note: If editing the README, please conform to the standard-readme specification.
License
MIT © Protocol Labs Inc.