Buffer-to-BaseN Encoder, Decoder, Converter, and Validator
npm install bufferbaseBuffer-to-BaseN encoding and decoding for Node.js.
``bash`
npm install bufferbase
`typescript
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)
`
`typescript
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'); // true
`
`typescript
import { createCodec } from 'bufferbase';
const binary = createCodec('01');
binary.encode(Buffer.from([5])); // '101'
binary.decode('101'); // Buffer([5])
`
| 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 |
- 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
`typescript`
Codecs.base58.encode(buffer)
Codecs.base58.decode(encoded, options?)
Codecs.base58.validate(input)
Codecs.base58.convertTo(targetCodec, input)
`typescript`
interface DecodeOptions {
size?: number; // Expected buffer size (pads with zeros if smaller)
}
- InvalidCharacterError - Invalid character in decode inputBufferSizeError
- - Decoded buffer exceeds specified sizeUnknownBaseError` - Unknown base name
-
ISC