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
value

Character

Decimal
value

Character

Decimal
value

Character

Decimal
value

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