Varicode


Varicode is a self-synchronizing code for use in PSK31. It supports all ASCII characters, but the characters used most frequently in English have shorter codes. The space between characters is indicated by a 00 sequence, an implementation of Fibonacci coding. Originally created for speeding up real-time keyboard-to-keyboard exchanges over low bandwidth links. Varicode is freely available.

Limitations

Control characters

Printable characters

Character lengths

Beginning with the single-bit code "1", valid varicode values may be formed by prepending a "1" or "10" to a shorter code. Thus, the number of codes of length n is equal to the Fibonacci number Fn. Varicode uses the 88 values of lengths up to 9 bits, and 40 of the 55 codes of length 10.
As transmitted, the codes are two bits longer due to the trailing delimiter 00.
BitsCodesCharacters
11SP
21e
32o t
43a i n
55LF CR l r s
68- c d f h m p u
713,. = A E I S T b g v w y
821HT 0 1 2 3 : B C D F G L M N O P R k x
934! " # $ ' * + / 4 5 6 7 8 9 ; < > H J K Q U V W X Y _ j q z |
1040NUL SOH STX ETX EOT ENQ ACK BEL BS VT FF SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EOM SUB ESC FS GS RS US % & ? @ Z ^ ` ~ DEL