Plaintext←→arrows converter

Plain text:
← bidirectional →

Yeah so uh basically, each byte is converted into 4 pairs of bits, then each bit pair is used as index into "mapping" array (which maps value of 2 bits to direction), then that direction is used to get corresponding symbol from "language" array. Decoding is done in reverse, obviously.

You can also tweak a couple of parameters: