0.1.6 • Published 8 years ago

encoder-js v0.1.6

Weekly downloads
6
License
MIT
Repository
github
Last release
8 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

8 years ago

0.1.5

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago

1.0.0

8 years ago