Package Exports
- bufferbase
Readme
bufferbase
Buffer-to-BaseN encoding and decoding for Node.js.
Installation
npm install bufferbaseUsage
Simple Function API
import { encode, decode, convert, validate } from 'bufferbase';
// Encode buffer to base58
const encoded = encode(Buffer.from('Hello'), 'base58');
// Decode base58 string to buffer
const decoded = decode(encoded, 'base58');
// Decode with fixed size (pads with leading zeros)
const fixed = decode(encoded, 'base58', { size: 32 });
// Convert between bases
const base64 = convert(encoded, 'base58', 'base64url');
// Validate string
validate('9Ajdvz', 'base58'); // true
validate('0Ajdvz', 'base58'); // false ('0' not in base58)Pre-defined Codecs
import { Codecs } from 'bufferbase';
const encoded = Codecs.base58.encode(Buffer.from('Hello'));
const decoded = Codecs.base58.decode(encoded);
// Convert between codecs
const base64 = Codecs.base58.convertTo(Codecs.base64url, encoded);
// Validate
Codecs.base58.validate('9Ajdvz'); // trueCustom Character Set
import { createCodec } from 'bufferbase';
const binary = createCodec('01');
binary.encode(Buffer.from([5])); // '101'
binary.decode('101'); // Buffer([5])Supported Encodings
| Name | Characters |
|---|---|
decimal |
0-9 |
base16 / hex |
0-9A-F |
base32 |
A-Z2-7 |
base32crockford |
0-9A-HJKMNP-TV-Z |
base36 |
0-9A-Z |
base52 |
A-Za-z |
base58 |
Bitcoin alphabet (no 0OIl) |
base64 |
A-Za-z0-9+/ |
base64url |
A-Za-z0-9-_ |
base64xml |
A-Za-z0-9._ |
base64xmlname |
A-Za-z0-9_: |
ascii85 |
ASCII85 |
base85 |
Base85 |
z85 |
ZeroMQ Z85 |
API
Functions
encode(buffer, base)- Encode buffer to stringdecode(encoded, base, options?)- Decode string to bufferconvert(input, from, to)- Convert between basesvalidate(input, base)- Check if string is valid for basecreateCodec(chars)- Create codec with custom character set
Codecs Object
Codecs.base58.encode(buffer)
Codecs.base58.decode(encoded, options?)
Codecs.base58.validate(input)
Codecs.base58.convertTo(targetCodec, input)Options
interface DecodeOptions {
size?: number; // Expected buffer size (pads with zeros if smaller)
}Errors
InvalidCharacterError- Invalid character in decode inputBufferSizeError- Decoded buffer exceeds specified sizeUnknownBaseError- Unknown base name
License
ISC