Appendix B: ASCII Character Set
In alpha relational comparisons and ISAM key comparisons, character strings are compared from left to right based on the ASCII collating sequence. The ASCII characters are arranged so that the sequence proceeds from the lowest decimal code to the highest. Therefore, an “A” is considered less than a “J” but greater than a “3.” Similarly, the string “abcde” is less than “abcje” but greater than “abcTe.” In alpha comparisons of different sized operands, the comparison is made for the length of the shorter operand. Thus, “abcXYZ” is equal to “abc” because the first three letters of “abcXYZ” match “abc.”
When decimal operands are processed, only the low-order 4 bits of each digit are used to determine the effective value of the operand. Synergy DBL assumes that valid ASCII digits (0 through 9) are present. Negative decimal values are stored the same way as positive values, except that bit 6 (7 being the high-order bit in each 8-bit character) is turned on to indicate a negative value. Thus, if a decimal field is examined as an alpha value, negative values show up with the low-order digit position consisting of a character from “p” through “y.” The following table indicates the negative value to which each of these characters corresponds.
The following table presents the ASCII characters and their corresponding decimal codes.
Decimal |
Character |
Decimal |
Character |
Decimal |
Character |
Decimal |
Character |
---|---|---|---|---|---|---|---|
000 |
NUL (ctrl+@) |
032 |
Space |
064 |
@ |
096 |
` |
001 |
SOH (ctrl+a) |
033 |
! |
065 |
A |
097 |
a |
002 |
STX (ctrl+b) |
034 |
" |
066 |
B |
098 |
b |
003 |
ETX (ctrl+c) |
035 |
# |
067 |
C |
099 |
c |
004 |
EOT (ctrl+d) |
036 |
$ |
068 |
D |
100 |
d |
005 |
ENQ (ctrl+e) |
037 |
% |
069 |
E |
101 |
e |
006 |
ACK (ctrl+f) |
038 |
& |
070 |
F |
102 |
f |
007 |
BEL (ctrl+g) |
039 |
' |
071 |
G |
103 |
g |
008 |
BS (ctrl+h) |
040 |
( |
072 |
H |
104 |
h |
009 |
HT Horiz Tab |
041 |
) |
073 |
I |
105 |
i |
010 |
LF Line Feed |
042 |
* |
074 |
J |
106 |
j |
011 |
VT Vert Tab |
043 |
+ |
075 |
K |
107 |
k |
012 |
FF Form Feed |
044 |
, |
076 |
L |
108 |
l |
013 |
CR (return) |
045 |
- |
077 |
M |
109 |
m |
014 |
SO (ctrl+n) |
046 |
. |
078 |
N |
110 |
n |
015 |
SI (ctrl+o) |
047 |
/ |
079 |
O |
111 |
o |
016 |
DLE (ctrl+p) |
048 |
0 |
080 |
P |
112 |
p -0 |
017 |
DC1 (ctrl+q) |
049 |
1 |
081 |
Q |
113 |
q -1 |
018 |
DC2 (ctrl+r) |
050 |
2 |
082 |
R |
114 |
r -2 |
019 |
DC3 (ctrl+s) |
051 |
3 |
083 |
S |
115 |
s -3 |
020 |
DC4 (ctrl+t) |
052 |
4 |
084 |
T |
116 |
t -4 |
021 |
NAK (ctrl+u) |
053 |
5 |
085 |
U |
117 |
u -5 |
022 |
SYN (ctrl+v) |
054 |
6 |
086 |
V |
118 |
v -6 |
023 |
ETB (ctrl+w) |
055 |
7 |
087 |
W |
119 |
w -7 |
024 |
CAN (ctrl+x) |
056 |
8 |
088 |
X |
120 |
x -8 |
025 |
EM (ctrl+y) |
057 |
9 |
089 |
Y |
121 |
y -9 |
026 |
SUB (ctrl+z) |
058 |
: |
090 |
Z |
122 |
z |
027 |
ESC Altmode |
059 |
; |
091 |
[ |
123 |
{ |
028 |
FS (ctrl+ \) |
060 |
< |
092 |
\ |
124 |
| |
029 |
GS (ctrl+ ]) |
061 |
= |
093 |
] |
125 |
} |
030 |
RS (ctrl+ ^) |
062 |
> |
094 |
^ |
126 |
~ |
031 |
US (ctrl+_ ) |
063 |
? |
095 |
_ |
127 |
DEL Rubout |