1. A method comprising: receiving, at a computing device, an input data string, the input data string comprising a plurality characters; initializing, via the computing device, a dictionary with a plurality of characters based in part upon the input data string; and encoding the input data string based in part upon the dictionary, said encoding comprises: comparing, via the computing device, the characters of the input data string with the characters of the dictionary, said comparing comprising sequentially traversing the input data string and the dictionary, and comparing each character in the input data string with each dictionary character; identifying, via the computing device, a first string, said first string identified by determining a match between at least one consecutive character in the input data string and at least one character in the dictionary; writing, via the computing device, the first string to a control output string; identifying, via the computing device, a second string, said second string comprising at least one consecutive character in the input data string not present within the dictionary; writing, via the computing device, the second string to a literal output string; and generating, via the computing device, an encoded output string based on the control output string and the literal output string.