0.1.6 • Published 10 years ago

encoder-js v0.1.6

Weekly downloads
6
License
MIT
Repository
github
Last release
10 years ago

encoder-js

super simple encoder / decoder. Give it a string and an alphabet and it returns an encoded string in the target alphabet along with encode keys to decode the string later.

install

npm install --save-dev encoder-js

then run the tests:

npm test

this requires babel-cli for polyfilling ES6 features. So, make sure you run this on node.

import Encoder from 'encoder-js'

encoding / decoding

There are just two simple helper functions, one for strings and one for arrays. The functions are have the name "encode" in them because decoding is actually just encoding a message from its encoded form to its target form given decode keys.

encodeCharsArr takes an array and returns an array:

//"encode" example
encodeCharsArr(["t", "a", "c", "t", "o"], { a: '01', c: '10', o: '11', t: '00' })
=> ["00", "01", "10", "00", "11"]

//"decode" example
encodeCharsArr(["00", "01", "10", "00", "11"], { '01': 'a', '10' : 'c', '11' : 'o', '00' : 't' })
=> ["t", "a", "c", "t", "o"]

while encodeCharStr takes a string and returns a string:

encodeCharStr("tacto", { a: ' \t', c: '\t ', o: '\t\t', t: '  ' })
=> "   \t\t   \t\t"

encode helper function

The encode function uses the encodeCharStr & encodeCharsArr functions, and a few other things, to give you a way to encode strings in a really simple way. For example:

encode("tacto",["0","1"])

Will output:

[{t:"00", a:"01", c:"10", o:"11"}, 2, [ '00', '01', '10', '00', '11' ]]);

The input is the message to encode and the alphabet, and the output is an array with the decodeKeys, the key length, and the message encoded into a character array.

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

1.0.0

10 years ago