If you are writing SIM Application Toolkit (SAT) applications for a smart card, you'll need to encode some of your your string literals according to the GSM 03.38 specification for SMS strings. Becuase encoding strings this way is difficult and error prone, CrossWorks C provides a means to encode them when compiling using the G specification:

##### Example

`void displayHello(void)
{
const char *gsmHello = G"Hello, World";
gsmDisplayText(gsmHello, NORMAL_PRIORITY_AUTO_CLEAR);
}`

The characters in the GSM 03.38 (SMS) alphabet are:

`@ £ $ ¥ è é ù ì ò Ç Ø ø Å å _ Æ
æ ß É ! " # ¤ % & ' ( ) * + , -
. / 0 1 2 3 4 5 6 7 8 9 : ; < =
> ? ¡ A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z Ä Ö Ñ
Ü § ¿ a b c d e f g h i j k l m
n o p q r s t u v w x y z ä ö ñ
ü à`

The 03.38 SMS alphabet also includes space, carriage return, and line feed so you can use ?\r’ and ?\n’ escapes in G-encoded strings.