== CHAR type variables == {{anchor:char}} **CHAR** (//character//) types are suitable for storing a single letter each. The original CHAR uses codes from the ancient **ASCII** character mapping table. This table contains a mix of 255 different characters (letters, numbers, control characters, graphic symbols). Its advantage is that it requires only 1 byte, but its disadvantage is that the character set is quite limited; for example, Hungarian or Chinese accented characters are mostly excluded. The extended version of CHAR is **WCHAR** (wide-character), which has a 2-byte length but can be used more broadly with its (**UNICODE**) //UCS-2// mapping. Up to 65,535 character mappings can be encoded with 16 bits; UNICODE does not fully utilize this range. When declaring an operand of data type WSTRING you can define its length using square brackets (for example WSTRING[10]). If you do not specify a length, the length of the WSTRING is set to 254 characters by default. ^Type^Name^Bit^Code table^Value range HEX^Value range DEC^Example| |**CHAR**|character|8|ASCII|0 .. FF|0 .. 255|'P', CHAR#'P'| |**WCHAR**|Wide character|16|UCS-2|$0000 - $D7FF|0 .. 55.295|WCHAR#'Ő'| == Special characters == A character string can also contain special characters. The escape character $ is used to identify control characters, dollar signs and single quotation marks. |< 100%>| ^Character^Hex^Meaning^Example| ^$L or $l|000A|Line feed|'$LText', '$000AText'| ^$N|000A and 000D|Line break \\ The line break occupies 2 characters in the character string.|'$NText', \\ '$000A$000DText'| ^$P or $p|000C|Page feed|'$PText', '$000CText'| ^$R or $r|000D|Carriage return (CR)|'$RText','$000DText'| ^$T or $t|0009|Tab|'$TText', '$0009Text'| ^$$|0024|Dollar sign|'100$$t', '100$0024t'| ^$'|0027|Single quotation mark|'$'Text$'','$0027Text$0027|