@sindresorhus/base62
Version:
Encode & decode strings, bytes, and integers to Base62
76 lines (44 loc) • 2.04 kB
Markdown
> Encode & decode strings, bytes, and integers to [Base62](https://en.wikipedia.org/wiki/Base62)
Base62 is ideal for URL shortening, creating readable codes, and compact data representation, because it compresses large values into shorter, alphanumeric strings, maximizing space efficiency and readability.
```sh
npm install @sindresorhus/base62
```
```js
import base62 from '@sindresorhus/base62';
const encodedString = base62.encodeString('Hello world!');
console.log(encodedString);
//=> '8nlogx6nlNdJhVT24v'
console.log(base62.decodeString(encodedString));
//=> 'Hello world!'
console.log(base62.encodeString('🦄'));
//=> '95s3vg'
console.log(base62.encodeInteger(1337));
//=> 'LZ'
```
> [!NOTE]
> The output may differ from other Base62 encoders due to variations in alphabet order and byte encoding.
It uses the most common alphabet for Base62: `0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`
Encodes a string to a Base62 string.
> [!CAUTION]
> The result format is not yet guaranteed to be stable across package versions. Avoid using it for persistent storage.
Decodes a Base62 encoded string created with `encodeString()` back to the original string.
Encodes bytes to a Base62 string.
> [!CAUTION]
> The result format is not yet guaranteed to be stable across package versions. Avoid using it for persistent storage.
Decodes a Base62 string created with `encodeBytes()` back to bytes.
Encodes a non-negative integer to a Base62 string.
Decodes a Base62 string to an integer.
Encodes a non-negative bigint to a Base62 string.
Decodes a Base62 string to a bigint.