Supported character set

For SMS via GSM service, the Digi device has to translate between the GSM 03.38 7-bit alphabet and ASCII. ASCII is the native character set for the Digi device and is the character set used in the CLI and web UI.

The ASCII and GSM 03.38 characters do not map one-to-one, and in fact some ASCII characters must be represented in GSM 03.38 as multi-character escape sequences (per extensions to the original GSM 03.38 alphabet). In the following table, such characters are shown as “0x1Bhh” under the “GSM 03.38 Code” column. This notation indicates a two-character sequence, where “hh” is a pair of hexadecimal digits.

In the reverse translation (from GSM 03.38 to ASCII), some of the GSM 03.38 characters have no ASCII counterpart. These are replaced with ASCII space characters. One exception is the INVERTED QUESTION MARK (0x60 in GSM 03.38) which is replaced with an ASCII QUESTION MARK (0x3F) character.

The following table documents the supported characters and the mapping used between these two alphabets. Note that “unknown” characters are replaced with space characters during the translation. In the table below, such characters appear as “0x20 *” under the “GSM 03.38 Code” column.

Notes for the table:

The following table displays the supported character set:

ASCII
Code
GSM 03.38
Code
ASCII
Character
Description

0x00

0x20 *

NUL

NULL

0x01

0x20 *

SOH

START OF HEADING

0x02

0x20 *

STX

START OF TEXT

0x03

0x20 *

ETX

END OF TEXT

0x04

0x20 *

EOT

END OF TRANSMISSION

0x05

0x20 *

ENQ

ENQUIRY

0x06

0x20 *

ACK

ACKNOWLEDGE

0x07

0x20 *

BEL

BELL

0x00

0x20 *

NUL

NULL

0x01

0x20 *

SOH

START OF HEADING

0x08

0x20 *

BS

BACKSPACE

0x09

0x20 *

HT

HORIZONTAL TABULATION

0x0A

0x0A

LF

LINE FEED

0x0B

0x20 *

VT

VERTICAL TABULATION

0x0C

0x1B0A

FF

FORM FEED

0x0D

0x0D

CR

CARRIAGE RETURN

0x0E

0x20 *

SO

SHIFT OUT

0x0F

0x20 *

SI

SHIFT IN

0x10

0x20 *

DLE

DATA LINK ESCAPE

0x11

0x20 *

XON

DEVICE CONTROL ONE

0x12

0x20 *

DC2

DEVICE CONTROL TWO

0x13

0x20 *

XOFF

DEVICE CONTROL THREE

0x14

0x20 *

DC4

DEVICE CONTROL FOUR

0x15

0x20 *

NAK

NEGATIVE ACKNOWLEDGE

0x16

0x20 *

SYN

SYNCHRONOUS IDLE

0x17

0x20 *

ETB

END OF TRANSMISSION BLOCK

0x18

0x20 *

CAN

CANCEL

0x19

0x20 *

EM

END OF MEDIUM

0x1A

0x20 *

SUB

SUBSTITUTE

0x1B

0x20 *

ESC

ESCAPE

0x1C

0x20 *

FS

FILE SEPARATOR

0x1D

0x20 *

GS

GROUP SEPARATOR

0x1E

0x20 *

RS

RECORD SEPARATOR

0x1F

0x20 *

US

UNIT SEPARATOR

0x20

0x20

SP

SPACE

0x21

0x21

!

EXCLAMATION MARK

0x22

0x22

"

QUOTATION MARK

0x23

0x23

#

NUMBER SIGN

0x24

0x02

$

DOLLAR SIGN

0x25

0x25

%

PERCENT SIGN

0x26

0x26

&

AMPERSAND

0x27

0x27

'

APOSTROPHE

0x28

0x28

(

LEFT PARENTHESIS

0x29

0x29

)

RIGHT PARENTHESIS

0x2A

0x2A

*

ASTERISK

0x2B

0x2B

+

PLUS SIGN

0x2C

0x2C

,

COMMA

0x2D

0x2D

-

HYPHEN-MINUS

0x2E

0x2E

.

FULL STOP (PERIOD)

0x2F

0x2F

/

SOLIDUS (SLASH)

0x30

0x30

0

DIGIT ZERO

0x31

0x31

1

DIGIT ONE

0x32

0x32

2

DIGIT TWO

0x33

0x33

3

DIGIT THREE

0x34

0x34

4

DIGIT FOUR

0x35

0x35

5

DIGIT FIVE

0x36

0x36

6

DIGIT SIX

0x37

0x37

7

DIGIT SEVEN

0x38

0x38

8

DIGIT EIGHT

0x39

0x39

9

DIGIT NINE

0x3A

0x3A

:

COLON

0x3B

0x3B

;

SEMICOLON

0x3C

0x3C

<

LESS-THAN SIGN

0x3D

0x3D

=

EQUALS SIGN

0x3E

0x3E

>

GREATER-THAN SIGN

0x3F

0x3F

?

QUESTION MARK

0x40

0x00

@

COMMERCIAL AT

0x41

0x41

A

LATIN CAPITAL LETTER A

0x42

0x42

B

LATIN CAPITAL LETTER B

0x43

0x43

C

LATIN CAPITAL LETTER C

0x44

0x44

D

LATIN CAPITAL LETTER D

0x45

0x45

E

LATIN CAPITAL LETTER E

0x46

0x46

F

LATIN CAPITAL LETTER F

0x47

0x47

G

LATIN CAPITAL LETTER G

0x48

0x48

H

LATIN CAPITAL LETTER H

0x49

0x49

I

LATIN CAPITAL LETTER I

0x4A

0x4A

J

LATIN CAPITAL LETTER J

0x4B

0x4B

K

LATIN CAPITAL LETTER K

0x4C

0x4C

L

LATIN CAPITAL LETTER L

0x4D

0x4D

M

LATIN CAPITAL LETTER M

0x4E

0x4E

N

LATIN CAPITAL LETTER N

0x4F

0x4F

O

LATIN CAPITAL LETTER O

0x50

0x50

P

LATIN CAPITAL LETTER P

0x51

0x51

Q

LATIN CAPITAL LETTER Q

0x52

0x52

R

LATIN CAPITAL LETTER R

0x53

0x53

S

LATIN CAPITAL LETTER S

0x54

0x54

T

LATIN CAPITAL LETTER T

0x55

0x55

U

LATIN CAPITAL LETTER U

0x56

0x56

V

LATIN CAPITAL LETTER V

0x57

0x57

W

LATIN CAPITAL LETTER W

0x58

0x58

X

LATIN CAPITAL LETTER X

0x59

0x59

Y

LATIN CAPITAL LETTER Y

0x5A

0x5A

Z

LATIN CAPITAL LETTER Z

0x5B

0x1B3C

[

LEFT SQUARE BRACKET

0x5C

0x1B2F

\

REVERSE SOLIDUS (BACKSLASH)

0x5D

0x1B3E

]

RIGHT SQUARE BRACKET

0x5E

0x1B14

^

CIRCUMFLEX ACCENT

0x5F

0x11

_

LOW LINE (UNDERSCORE)

0x60

0x27 (1)

`

GRAVE ACCENT

0x61

0x61

a

LATIN SMALL LETTER A

0x62

0x62

b

LATIN SMALL LETTER B

0x63

0x63

c

LATIN SMALL LETTER C

0x64

0x64

d

LATIN SMALL LETTER D

0x65

0x65

e

LATIN SMALL LETTER E

0x66

0x66

f

LATIN SMALL LETTER F

0x67

0x67

g

LATIN SMALL LETTER G

0x68

0x68

h

LATIN SMALL LETTER H

0x69

0x69

i

LATIN SMALL LETTER I

0x6A

0x6A

j

LATIN SMALL LETTER J

0x6B

0x6B

k

LATIN SMALL LETTER K

0x6C

0x6C

l

LATIN SMALL LETTER L

0x6D

0x6D

m

LATIN SMALL LETTER M

0x6E

0x6E

n

LATIN SMALL LETTER N

0x6F

0x6F

o

LATIN SMALL LETTER O

0x70

0x70

p

LATIN SMALL LETTER P

0x71

0x71

q

LATIN SMALL LETTER Q

0x72

0x72

r

LATIN SMALL LETTER R

0x73

0x73

s

LATIN SMALL LETTER S

0x74

0x74

t

LATIN SMALL LETTER T

0x75

0x75

u

LATIN SMALL LETTER U

0x76

0x76

v

LATIN SMALL LETTER V

0x77

0x77

w

LATIN SMALL LETTER W

0x78

0x78

x

LATIN SMALL LETTER X

0x79

0x79

y

LATIN SMALL LETTER Y

0x7A

0x20

z

LATIN SMALL LETTER Z

0x7B

0x1B28

{

LEFT CURLY BRACKET

0x7C

0x1B40

|

VERTICAL LINE (PIPE)

0x7D

0x1B29

}

RIGHT CURLY BRACKET

0x7E

0x1B3D

~

TILDE

0x7F

0x20 *

DEL

DELETE