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
- Varicode provides somewhat weaker compression in languages other than English that use same characters as in English.
Varicode table
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.
Bits | Codes | Characters |
1 | 1 | SP |
2 | 1 | e |
3 | 2 | o t |
4 | 3 | a i n |
5 | 5 | LF CR l r s |
6 | 8 | - c d f h m p u |
7 | 13 | ,. = A E I S T b g v w y |
8 | 21 | HT 0 1 2 3 : B C D F G L M N O P R k x |
9 | 34 | ! " # $ ' * + / 4 5 6 7 8 9 ; < > H J K Q U V W X Y _ j q z | |
10 | 40 | NUL 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 |