URL safe Base64 Integer Strings (BIS) and conversion tools. Supports both fast conversions for regular integers and large integer strings (via alan/clarke/int-encoder). Assists with compression as fewer base 64 digits are needed to represent larger integers than base 10 digits. Unlike RFC-3548 Base 64 encodings, readability of BIS is improved for small integers by using an alphabet that extends base-converter in PHP and following node base-converter.
npm install i64 var i64 = require('i64'); // initial instance i64.config([config]) // get/set configuration i64.date([date]) // get/set value as Date i64.degree([degrees]) // get/set value as Geo Degrees (+/- 180.0) i64.geo([geo]) // get/set value as Geo Point as{longitude: value, latitude: value} i64.geoSet([geoset]) // get/set value as Geo Point as [longitude, latitude] i64.hex([hex_string]) // get/set value as Hexidecimal i64.int([integer]) // get/set value as Integer i64.microtime([microtime]) // get/set value as Microtime (wadey/node-microtime) i64.isBis(BIS) // true if a valid Base64 Integer String (BIS) i64.valueOf([int64_string]) // value as BIS, set option i64.new(config) // new instance factory i64.nt(64).valueOf() // _ integer to BIS i64.valueOf('a').asInt() // 10 BIS to integer i64.hex('ff').asInt() // 255 hexidecimal to integer date = new Date(2013,08,29,20,12,15,0) i64.date(date).valueOf() // 38tkcf00 date to BIS i64.degree(-71.5653).valueOf() // ji ~10km accuracy with default 2 digit precision point ={latitude: 43.4108, longitude:-71.5653} i64.geo(point).valueOf() // DKji point = [43.4108, -71.5653] i64.geoSet(point).valueOf() // DKji {base_year: 2010, alphabet: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_', geo_precision": 2 // Values 1: ~400 miles, 2: ~6 miles, 3: ~500 feet, 4: ~10 feet, 5: ~10 inches } Dependencies:






