Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
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.
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);
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.
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.
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.
JavaScript implementation of the multibase specification
multibase
- Prefixes an encoded Uint8Array with its multibase codemultibase.encode
- Encodes Uint8Array into one of the supported encodings, prefixing it with the multibase codemultibase.decode
- Decodes Uint8Array or stringmultibase.isEncoded
- Checks if Uint8Array or string is encodedmultibase.names
- Supported base encoding namesmultibase.codes
- Supported base encoding codessrc/constants.js
$ 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
<script>
tagLoading 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>
const multibase = require('multibase')
const bytes = multibase.encode('base58btc', new TextEncoder().encode('hey, how is it going'))
const decodedBytes = multibase.decode(bytes)
console.log(decodedBytes.toString())
// hey, how is it going
https://multiformats.github.io/js-multibase/
multibase
- Prefixes an encoded Uint8Array with its multibase codeconst multibased = multibase(<nameOrCode>, encodedBytes)
multibase.encode
- Encodes Uint8Array into one of the supported encodings, prefixing it with the multibase codeconst encodedBuf = multibase.encode(<nameOrCode>, <bytes>)
multibase.decode
- Decodes Uint8Array or stringconst decodedBuf = multibase.decode(bufOrString)
multibase.isEncoded
- Checks if Uint8Array or string is encodedconst value = multibase.isEncoded(bytesOrString)
// value is the name of the encoding if it is encoded, false otherwise
multibase.encoding
- Get the encoding by name or codeconst value = multibase.encoding(nameOrCode)
// value is an instance of the corresponding `Base`
multibase.encodingFromData
- Get the encoding from data either a string
or Uint8Array
const value = multibase.encodingFromData(data)
// value is an instance of the corresponding `Base`
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.
src/constants.js
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.
MIT © Protocol Labs Inc.
3.0.1 (2020-09-18)
<a name="3.0.0"></a>
FAQs
JavaScript implementation of the multibase specification
The npm package multibase receives a total of 503,632 weekly downloads. As such, multibase popularity was classified as popular.
We found that multibase demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.