A javascript Base62 encode/decoder for node.js
From wikipedia:
Base62 is a priority system to the base 62, which for encoding large numbers using ASCII is character. The digits 0-9 (value 0-9), uppercase letters A-Z (value 10-35) and lowercase letters a-z (value 36-61) are used.
Due to the high number of base formed shorter strings than with the decimal or hexadecimal system , which mainly offers two advantages:
- They can be entered by a human being faster and with a smaller risk of error. In this case, a font should be selected in which characters that can be confused, such as small L and large i, or zero, and large O, are distinguishable.
- Length restrictions, eg when a number is to be used as part of an identifier or file name, can be bypassed. However, it should be noted that the processing system is case-sensitive.
npm install base62
or for yarn:
yarn add base62
Base62 = require('base62')
Base62.encode(999) // 'g7'
Base62.decode('g7') // 999
The default character set is 0-9a-zA-Z
. This can be updated to a custom character set. Naturally, it must be 62 characters long.
Instead of the character set 0-9a-zA-Z
you want to use 0-9A-Za-z
, call the setCharacterSet()
method on the Base62 object passing in the string "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
. Note that all characters must be unique.
Base62 = require('base62')
Base62.setCharacterSet("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
Base62.encode(999) // 'G7'
Base62.decode('G7') // 999
Source hosted at GitHub. Report Issues/Feature requests on GitHub Issues.
Copyright (c) 2016 Andrew Nesbitt. See LICENSE for details.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.