1. A system for encoding an input string of characters, comprising: a path definition defining a path through a data structure; a character reading and writing engine for writing a next character to an empty cell in the data structure with a predefined initial position; a next cell determination engine for determining a next empty cell by checking cells along the path in the data structure until an empty cell is located; a loop facilitator for looping back to the next character writing step and the determining next empty cell step for an additional data character; and an engine for serializing the data structure into a string of characters representing an encoded string of characters.