--- title: Home layout: page order: 1 ---

A "**banana**" word is formed by an arbitrary number of modules [consonant + vowel]. E.g. *positive*, *favorite*, *generate*, *manage*. A "**banana**" could be a non-existent word also. It has the feature of being easily pronounced and remembered. E.g. *fitope*, *vetoluzo*, *catipule*, *miteropa*. A "**banana**" word can be generated randomly, or encoded starting from a number like a standard base encoding. The **BaseBanana** library provides functions to encode numbers into "**banana**" words, decode a "**banana**" word to number, or generate random "**banana**" words. Abstracting the **BaseBanana**, it's a base encoding that uses a list of alphabets instead of a single one. The standard alphabet is "*bcdfglmnprstvz, aeiou*" (only italian alphabet letters, excluding *q* and *h* that have special grammar rules) but can be easily customized.