Varicode is a method of binary character encoding in which the number of bits for each character is not fixed, but varies for each character depending on how often that character occurs in general usage. Varicode is most effective in weak-signal data transmission modes, such as PSK31 (phase-shift keying at a data speed of 31.25 baud or state changes per second) and MFSK (multiple frequency-shift keying), especially in radio-frequency (RF) wireless systems. It has become popular among amateur radio experimenters.
In varicode, the characters that appear most frequently, such as the lowercase letter e, have the shortest binary representations. Rarely used uppercase letters such as X, and special symbols such as #, have the longest binary representations. Lowercase letters of the alphabet have shorter binary equivalents than their uppercase counterparts. In the transmission of ordinary text, this means that more characters can be sent at any given bit transmission speed.
Varicode lends itself better than conventional ASCII to error correction. In the event of an error, the data stream can be re-synchronized almost immediately between the transmitting station and the receiving station. This minimizes the amount of data that is lost when a signal is degraded by noise, fading, or interference. Another advantage is that the character set can be indefinitely expanded, because there is no imposed limit to the number of bits that a character can contain.