New Phone Models

    bases
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/bases package

    0.2.1 • Public • Published

    Build Status

    bases.js

    Utility for converting numbers to/from different bases/alphabets. Common bases have convenience aliases (see below), but arbitrary/custom alphabets can be used.

    Installation

    On the server side w/ Node.js:

    npm install bases
    

    Or in the browser (adds a global Bases variable for now):

    <script src="bases.js"></script>

    Usage

    var bases = require('./bases');
      // or window.Bases in the browser
     
    bases.toBase16(200);                // => 'c8'
    bases.toBase62(99999);              // => 'q0T'
    bases.toAlphabet(300, 'aAbBcC');    // => 'Abba'
     
    bases.fromBase16('c8');               // => 200
    bases.fromBase62('q0T');              // => 99999
    bases.fromAlphabet('Abba', 'aAbBcC'); // => 300

    API

    Going from numbers to strings:

    • toAlphabet(num, alphabet): returns a string representation of the given number for the given alphabet, where the alphabet is an arbitrary string of characters. (See known alphabets below for examples.)

    • toBase(num, base): convenience helper for known bases (see below).

    • toBaseX(num): convenience helpers for known bases (see below), e.g. toBase62(num).

    Going from strings to numbers:

    • fromAlphabet(str, alphabet): returns an integer representation of the given string for the given alphabet.

    • fromBase(num, base): convenience helper for known bases.

    • fromBaseX(str): convenience helpers for known bases.

    Known Bases/Alphabets

    Numbers only:

    Base-2 01
    ... 012...
    Base-10 0123456789

    Letters only:

    Base-26 abcdefghijklmnopqrstuvwxyz
    Base-52 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

    Alphanumeric:

    Base-11 0123456789a
    ... 0123456789ab...
    Base-16 0123456789abcdef
    Base-36 0123456789abcdefghijklmnopqrstuvwxyz
    Base-62 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

    Human-friendly:

    Base-32 (from Douglas Crockford) 0123456789ABCDEFGHJKMNPQRSTVWXYZ (no IOLU)
    Base-58 (from Flickr) 123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ (no 0lIO)

    Other:

    Base-64 (as standardized) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

    Base-64 warning: besides there being several different standards, padding isn't currently added and line lengths aren't tracked. Not recommended for use with APIs that expect formal base-64 strings!

    License

    MIT license. (c) 2012-2014 Aseem Kishore and contributors.

    Install

    npm i bases

    DownloadsWeekly Downloads

    6,360

    Version

    0.2.1

    License

    none

    Last publish

    Collaborators

    • aseemk