Skip to content

ssttevee/baseconv-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

baseconv-js

A library for converting numbers between arbitrary bases with arbitrary character sets.

Installation

Deno

import { Alphabet, Converter } from 'https://raw.githubusercontent.com/ssttevee/baseconv-js/master/mod.ts';

NodeJS

npm install @ssttevee/baseconv

Usage

import createConvertFunc from '@ssttevee/baseconv';
import { Converter } from '@ssttevee/baseconv';

const base2 = '01';
const base10 = '0123456789';

// once

assertEquals(Converter.convert(base2, base10, '1010110'), '86');

// or instanced

const base36 = '0123456789abcdefghijklmnopqrstuvwxyz';

assertEquals(new Converter(base36, base2).convert('3f'), '1111011');

// or curried

const custom2 = '_.';

const convert = Converter.create(base2, custom2); // createConvertFunc(base2, custom2)
assertEquals(convert('1111011'), '...._..');

Common bases

Bases 2, 8, 10, 16, 36 and 62 are packaged for convenience.

import { Converter } from '@ssttevee/baseconv';
import { base10, base16 } from '@ssttevee/baseconv/common';

assertEquals(new Converter(base10, base16).convert('123'), '7b');

Unicode

UTF-8 characters work as expected. Theoretically, all unicode characters can be used in a single character set for an ungodly base 149,186 radix.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published