Updated May 22 2003
Intro to ASCII and hexadecimal
Before we start into PCL we need to learn a little background
information on the tools we will be using and how to use them.
ASCII Character Set
Computers only work in ones and zeros or binary. When I press the
capital E on my keyboard, an E does not go through the computer. A
series of ones and zeros will be processed by the computer. How
does the computer know that our series of ones and zeros is to represent
a capital E? There is a look up table the computer can use to see
how the character "E", the binary code represents, should be display on
the monitor or originally, how a printer should print the E on paper.
This is the ASCII character set. It contains the uppercase
and lowercase letters, numbers, and symbols and how they are displayed.
It also contains control codes. We can insert the control
codes into our document to make the display or printer do certain
things. Common control codes would include a space, tab, and
backspace, a carriage and line feed, and many others.
Hexadecimal
In the ASCII table, our capital E is represented in binary as 0100
0101. If we where to work in a binary editor, things would be
tough and hard to troubleshoot and remember everything. Generally
nasty. To make thing easier we use the Hexadecimal number system
which the computer can easily translate into binary. To continue
our example:
E = 0100 0101 = 45 = 45h
Currently this is not a lesson on numbering systems. Here is a
chart you can look at to see the comparison between binary, decimal, and
hexadecimal.
Binary
|
Decimal
|
Hexadecimal
|
0000
|
0
|
0
|
0001
|
1
|
1
|
0010
|
2
|
2
|
0011
|
3
|
3
|
0100
|
4
|
4
|
0101
|
5
|
5
|
0110
|
6
|
6
|
0111
|
7
|
7
|
1000
|
8
|
8
|
1001
|
9
|
9
|
1010
|
10
|
A
|
1011
|
11
|
B
|
1100
|
12
|
C
|
1101
|
13
|
D
|
1110
|
14
|
E
|
1111
|
15
|
F
|
So, you ask, why are you telling me this? Well, we will be using
a hex editor to build our print jobs in PCL and PJL so you will need a
basic understanding on how to read the ASCII and other character sets
tables and how to enter them in the hex editor. Lets take a look
at the ASCII Table.
HEX
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
A
|
B
|
C
|
D
|
E
|
F
|
0
|
NUL
|
SOH
|
STX
|
ETX
|
EOT
|
ENQ
|
ACK
|
BEL
|
BS
|
HT
|
LF
|
VT
|
FF
|
CR
|
SO
|
SI
|
1
|
DLE
|
DC1
|
DC2
|
DC3
|
DC4
|
NAK
|
SYN
|
ETB
|
CAN
|
EM
|
SUB
|
ESC
|
FS
|
GS
|
RS
|
US
|
2
|
SP
|
!
|
"
|
#
|
$
|
%
|
&
|
'
|
(
|
)
|
*
|
+
|
,
|
-
|
.
|
/
|
3
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
:
|
;
|
<
|
=
|
>
|
?
|
4
|
@
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
5
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
|
[
|
\
|
]
|
^
|
_
|
6
|
`
|
a
|
b
|
c
|
d
|
e
|
f
|
g
|
h
|
i
|
j
|
k
|
l
|
m
|
n
|
o
|
7
|
p
|
q
|
r
|
s
|
t
|
u
|
v
|
w
|
x
|
y
|
z
|
{
|
|
|
}
|
~
|
DEL
|
The hex values run along the top and left side. Pick the
character you want and read the left hex value first and the top hex
value second. Now you can see how E is 45. There is another
way people draw the ASCII table. E is still 45 but as you can see
the layout of the numbering is slightly different.
HEX
|
00
|
10
|
20
|
30
|
40
|
50
|
60
|
70
|
0 |
NUL
|
DLE
|
SP
|
0
|
@
|
P
|
`
|
p
|
1 |
SOH
|
DC1
|
!
|
1
|
A
|
Q
|
a |
q
|
2 |
STX
|
DC2
|
"
|
2
|
B
|
R
|
b |
r
|
3 |
ETX
|
DC3
|
#
|
3
|
C
|
S
|
c |
s
|
4 |
EOT
|
DC4
|
$
|
4
|
D
|
T
|
d |
t
|
5 |
ENQ
|
NAK
|
%
|
5
|
E
|
U
|
e |
u
|
6 |
ACK
|
SYN
|
&
|
6
|
F
|
V
|
f |
v
|
7 |
BEL
|
ETB
|
'
|
7
|
G
|
W
|
g |
w
|
8 |
BS
|
CAN
|
(
|
8
|
H
|
X
|
h |
x
|
9 |
HT
|
EM
|
)
|
9
|
I
|
Y
|
i |
y
|
A |
LF
|
SUB
|
*
|
:
|
J
|
Z
|
j |
z
|
B |
VT
|
ESC
|
+
|
;
|
K
|
[
|
k |
{
|
C |
FF
|
FS
|
,
|
<
|
L
|
\
|
l |
|
|
D |
CR
|
GS
|
-
|
=
|
M
|
]
|
m |
}
|
E |
SO
|
RS
|
.
|
>
|
N
|
^
|
n |
~
|
F
|
SI
|
US
|
/
|
?
|
O
|
_
|
o |
DEL
|
Control Codes
Control Codes (Control Characters) are used to control different
functions on the display or printer as briefly described in the first
paragraph.
Here is the list of control codes supported by most printers.
BS BackSpace
HT Horizontal Tab
LF Line Feed
FF Form Feed
CR Carriage Return
SO Shift Out
SI Shift In
ESC ESCape
SP SPace
Here are the others if you are interested.
NUL NULL
SOH Start Of Heading
STX Start of TeXt
ETX End of TeXt
EOT End Of Transmission
ENQ ENQuiry
ACK ACKnowledge
BEL BELl
DLE Data Link Escape
DC1 Device Control 1
DC2 Device Control 2
DC3 Device Control 3
DC4 Device Control 4
NAK Negative AcKnowledge
SYN SYNchronous idle
ETB End of Transmission Block
CAN CANcel
EM End of Medium
SUB SUBstitute
FS File Seperator
GS Group Seperator
RS Record Seperator
US Unit Seperator