MC55 AT Command Set
1.5 Supported character sets s
m
obil
e
MC55_ATC_V01.05 Page 19 of 469 2/10/04
Confidential / Released
1.5 Supported character sets
The ME supports two character sets: GSM 03.38 (7 bit, also referred t o as GSM alphabet or SMS alphabet) and
UCS2 (16 bit, refer to ISO/IEC 10646). See AT+CSCS for information about selecti ng the character set. Character
tables can be found below.
Explanation of terms
•IRA
IRA means that one byte is displayed as two characters in hexadecimal format. for example, the byte 0x36
(decimal 54) is displayed as "36" (two chars).
Escape sequences
The escape sequence used within a text coded in the GSM default alphabet (0x1B) mus t be correctly inter-
preted by the TE, both for character input and output. To the module, an escape s equence appears like any
other byte received or sent.
•TE
TE is the terminal equipment that uses the GSM default alphabet as its character set. MS Hyperterminal
(often used with the module) is an ANSI / ASCII terminal that does not support the GSM defau lt alphabet.
Data Coding Scheme
The Data Coding Scheme (dcs) is part of a short message and is saved on the SIM. When writing a short
message to the SIM in textmode, the dcs stored with AT+CSMP is used.
TE Character Set
The currently used TE character set is selected with AT+CSCS.
The behavior when encountering characters, that are not valid character s of the supported alphabets, is unde-
fined.
Due to the constraints described below it is recommended to prefer the US C2 alphabet in any external applica-
tion.
If the GSM alphabet is selected all characters sent over the serial line are in the range from 0 ... 127. CAUTION:
GSM alphabet is not ASCII alphabet!
Several problems resulting from the use of the GSM alphabet:
"@" character with GSM alphabet value 0 is not printable by an ASCII terminal program (e.g. Microsoft©
Hyperterminal®).
"@" character with GSM alphabet value of binary 0 will terminate any C string! This is because the 0 is defined
as C string end tag. Therefore, the GSM Null character may cause problems on application level when using
a 'C'-function as "strlen()". This can be avoided if it is represented by an escape sequence as shown in the
table below.
By the way, this may be the reason why even network providers often replace "@"with "@=*" in their SIM
application.
Other characters of the GSM alphabet are misinterpreted by an ASCII terminal program. For example, GS M
"ö" (as in "Börse") is assumed to be "|" in ASCII, thus res ulting in "B|rse". This is because both alphabets mean
different characters with values hex. 7C or 00 and so on.
In addition, decimal 17 and 19 which are used as XON/XOFF control ch aracters when software flow control
is activated, are interpreted as normal characters in the GSM alphabet.
When you write characters differently coded in ASCII and GSM (e.g. Ä, Ö, Ü), you need to enter escape
sequences. Such a character is translated into the corresponding GSM character value and, when output la ter,
the GSM character value can be presented. Any ASCII terminal then will show wrong responses.
Examples for character definitions depending on alphabet