In this article, we will explore the fascinating world of Varicode. From its origins to its implications today, we will delve into a deep and detailed analysis of this topic/topic/person/date. We will discover its relevance in different contexts, its impact on society and its role in history. Through exhaustive research, we will examine all the aspects of Varicode, presenting data and reflections that will invite the reader to deepen their understanding. With the intention of offering a complete and enriching vision, we will approach Varicode from different approaches and perspectives, with the aim of enriching the understanding of this topic/topic/person/date.
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.[1][2][3]
Limitations
- Varicode provides somewhat weaker compression in languages other than English that use same characters as in English.
Varicode table
Control characters
Varicode |
Oct |
Dec |
Hex |
Abbr |
Description
|
1010101011 |
000 |
0 |
00 |
NUL |
Null character
|
1011011011 |
001 |
1 |
01 |
SOH |
Start of Header
|
1011101101 |
002 |
2 |
02 |
STX |
Start of Text
|
1101110111 |
003 |
3 |
03 |
ETX |
End of Text
|
1011101011 |
004 |
4 |
04 |
EOT |
End of Transmission
|
1101011111 |
005 |
5 |
05 |
ENQ |
Enquiry
|
1011101111 |
006 |
6 |
06 |
ACK |
Acknowledgment
|
1011111101 |
007 |
7 |
07 |
BEL |
Bell
|
1011111111 |
010 |
8 |
08 |
BS |
Backspace
|
11101111 |
011 |
9 |
09 |
HT |
Horizontal Tab
|
11101 |
012 |
10 |
0A |
LF |
Line feed
|
1101101111 |
013 |
11 |
0B |
VT |
Vertical Tab
|
1011011101 |
014 |
12 |
0C |
FF |
Form feed
|
11111 |
015 |
13 |
0D |
CR |
Carriage return
|
1101110101 |
016 |
14 |
0E |
SO |
Shift Out
|
1110101011 |
017 |
15 |
0F |
SI |
Shift In
|
1011110111 |
020 |
16 |
10 |
DLE |
Data Link Escape
|
1011110101 |
021 |
17 |
11 |
DC1 |
Device Control 1 (XON)
|
1110101101 |
022 |
18 |
12 |
DC2 |
Device Control 2
|
1110101111 |
023 |
19 |
13 |
DC3 |
Device Control 3 (XOFF)
|
1101011011 |
024 |
20 |
14 |
DC4 |
Device Control 4
|
1101101011 |
025 |
21 |
15 |
NAK |
Negative Acknowledgement
|
1101101101 |
026 |
22 |
16 |
SYN |
Synchronous Idle
|
1101010111 |
027 |
23 |
17 |
ETB |
End of Trans. Block
|
1101111011 |
030 |
24 |
18 |
CAN |
Cancel
|
1101111101 |
031 |
25 |
19 |
EM |
End of Medium
|
1110110111 |
032 |
26 |
1A |
SUB |
Substitute
|
1101010101 |
033 |
27 |
1B |
ESC |
Escape
|
1101011101 |
034 |
28 |
1C |
FS |
File Separator
|
1110111011 |
035 |
29 |
1D |
GS |
Group Separator
|
1011111011 |
036 |
30 |
1E |
RS |
Record Separator
|
1101111111 |
037 |
31 |
1F |
US |
Unit Separator
|
1110110101 |
177 |
127 |
7F |
DEL |
Delete
|
Printable characters
Varicode |
Oct |
Dec |
Hex |
Glyph
|
1 |
040 |
32 |
20 |
SP
|
111111111 |
041 |
33 |
21 |
!
|
101011111 |
042 |
34 |
22 |
"
|
111110101 |
043 |
35 |
23 |
#
|
111011011 |
044 |
36 |
24 |
$
|
1011010101 |
045 |
37 |
25 |
%
|
1010111011 |
046 |
38 |
26 |
&
|
101111111 |
047 |
39 |
27 |
'
|
11111011 |
050 |
40 |
28 |
(
|
11110111 |
051 |
41 |
29 |
)
|
101101111 |
052 |
42 |
2A |
*
|
111011111 |
053 |
43 |
2B |
+
|
1110101 |
054 |
44 |
2C |
,
|
110101 |
055 |
45 |
2D |
-
|
1010111 |
056 |
46 |
2E |
.
|
110101111 |
057 |
47 |
2F |
/
|
10110111 |
060 |
48 |
30 |
0
|
10111101 |
061 |
49 |
31 |
1
|
11101101 |
062 |
50 |
32 |
2
|
11111111 |
063 |
51 |
33 |
3
|
101110111 |
064 |
52 |
34 |
4
|
101011011 |
065 |
53 |
35 |
5
|
101101011 |
066 |
54 |
36 |
6
|
110101101 |
067 |
55 |
37 |
7
|
110101011 |
070 |
56 |
38 |
8
|
110110111 |
071 |
57 |
39 |
9
|
11110101 |
072 |
58 |
3A |
:
|
110111101 |
073 |
59 |
3B |
;
|
111101101 |
074 |
60 |
3C |
<
|
1010101 |
075 |
61 |
3D |
=
|
111010111 |
076 |
62 |
3E |
>
|
1010101111 |
077 |
63 |
3F |
?
|
|
|
Varicode |
Oct |
Dec |
Hex |
Glyph
|
1010111101 |
100 |
64 |
40 |
@
|
1111101 |
101 |
65 |
41 |
A
|
11101011 |
102 |
66 |
42 |
B
|
10101101 |
103 |
67 |
43 |
C
|
10110101 |
104 |
68 |
44 |
D
|
1110111 |
105 |
69 |
45 |
E
|
11011011 |
106 |
70 |
46 |
F
|
11111101 |
107 |
71 |
47 |
G
|
101010101 |
110 |
72 |
48 |
H
|
1111111 |
111 |
73 |
49 |
I
|
111111101 |
112 |
74 |
4A |
J
|
101111101 |
113 |
75 |
4B |
K
|
11010111 |
114 |
76 |
4C |
L
|
10111011 |
115 |
77 |
4D |
M
|
11011101 |
116 |
78 |
4E |
N
|
10101011 |
117 |
79 |
4F |
O
|
11010101 |
120 |
80 |
50 |
P
|
111011101 |
121 |
81 |
51 |
Q
|
10101111 |
122 |
82 |
52 |
R
|
1101111 |
123 |
83 |
53 |
S
|
1101101 |
124 |
84 |
54 |
T
|
101010111 |
125 |
85 |
55 |
U
|
110110101 |
126 |
86 |
56 |
V
|
101011101 |
127 |
87 |
57 |
W
|
101110101 |
130 |
88 |
58 |
X
|
101111011 |
131 |
89 |
59 |
Y
|
1010101101 |
132 |
90 |
5A |
Z
|
111110111 |
133 |
91 |
5B |
[
|
111101111 |
134 |
92 |
5C |
\
|
111111011 |
135 |
93 |
5D |
]
|
1010111111 |
136 |
94 |
5E |
^
|
101101101 |
137 |
95 |
5F |
_
|
|
|
Varicode |
Oct |
Dec |
Hex |
Glyph
|
1011011111 |
140 |
96 |
60 |
'
|
1011 |
141 |
97 |
61 |
a
|
1011111 |
142 |
98 |
62 |
b
|
101111 |
143 |
99 |
63 |
c
|
101101 |
144 |
100 |
64 |
d
|
11 |
145 |
101 |
65 |
e
|
111101 |
146 |
102 |
66 |
f
|
1011011 |
147 |
103 |
67 |
g
|
101011 |
150 |
104 |
68 |
h
|
1101 |
151 |
105 |
69 |
i
|
111101011 |
152 |
106 |
6A |
j
|
10111111 |
153 |
107 |
6B |
k
|
11011 |
154 |
108 |
6C |
l
|
111011 |
155 |
109 |
6D |
m
|
1111 |
156 |
110 |
6E |
n
|
111 |
157 |
111 |
6F |
o
|
111111 |
160 |
112 |
70 |
p
|
110111111 |
161 |
113 |
71 |
q
|
10101 |
162 |
114 |
72 |
r
|
10111 |
163 |
115 |
73 |
s
|
101 |
164 |
116 |
74 |
t
|
110111 |
165 |
117 |
75 |
u
|
1111011 |
166 |
118 |
76 |
v
|
1101011 |
167 |
119 |
77 |
w
|
11011111 |
170 |
120 |
78 |
x
|
1011101 |
171 |
121 |
79 |
y
|
111010101 |
172 |
122 |
7A |
z
|
1010110111 |
173 |
123 |
7B |
{
|
110111011 |
174 |
124 |
7C |
|
|
1010110101 |
175 |
125 |
7D |
}
|
1011010111 |
176 |
126 |
7E |
~
|
|
Character lengths
Beginning with the single-bit code "1", valid varicode values may be formed by prefixing 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.
ASCII characters by varicode length
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
|
References