# bzzz Documentation ## Executable Documentation Switches: - `--help | -h` :
Prints the help menu. - `--encode | -e [filename, ...]` :
Performs a text-to-bee-speak conversion on the text of any number of files. If no files are given, input is taken from the standard input stream instead. - `--decode | -d [filename, ...]` :
Performs a bee-speak-to-text conversion on the text of any number of files. If no files are given, input is taken from the standard input stream instead. ## Encoding Specification The Bee-Speak encoding is isomorphic to a list of bytes. Bee-Speak is composed of space-separated units, comprised of a `b` followed by between 1 and 16 `z`s. Such units shall, for brevity sake, be referred to as "words". Two adjacent words shall be called a "phrase". A Bee-Speak string is composed of any number of phrases. Each phrase in a Bee-Speak string corresponds directly with a single byte. A byte's relationship with a phrase shall be a derivation of that byte's component higher nybble and lower nybble's relationships with that phrase's former word and latter word, respectively. A nybble's relationship to a word is as such: the value of the nybble shall be one less than the number of `z`s in the word. Inversely, the number of `z`s in the word shall be one greater than the value of the nybble. A well-formed Bee-Speak string is one which, being interpreted as the corresponding string of bytes, is also a well-formed utf8 string. An example conversion is as follows: `A` -> `0x41` -> `bzzzzz bzz`