Skip to main content

IAR Embedded Workbench for Arm 9.70.x

J.3.4 Characters

In this section:
Number of bits in a byte (3.6)

A byte contains 8 bits.

Execution character set member values (5.2.1)

The values of the members of the execution character set are the values of the ASCII character set, which can be augmented by the values of the extra characters in the source file character set. The source file character set is determined by the chosen encoding for the source file. See Text encodings.

Alphabetic escape sequences (5.2.2)

The standard alphabetic escape sequences have the values \a–7, \b–8, \f–12, \n–10, \r–13, \t–9, and \v–11.

Characters outside of the basic executive character set (6.2.5)

A character outside of the basic executive character set that is stored in a char is not transformed.

Plain char (6.2.5, 6.3.1.1)

A plain char is treated as an unsigned char. See ‑‑char_is_signed and ‑‑char_is_unsigned.

Source and execution character sets (6.4.4.4, 5.1.1.2)

The source character set is the set of legal characters that can appear in source files. It is dependent on the chosen encoding for the source file. See Text encodings. By default, the source character set is Raw.

The execution character set is the set of legal characters that can appear in the execution environment. These are the execution character set for character constants and string literals and their encoding types:

Execution character set

Encoding type

L

UTF-32

u

UTF-16

U

UTF-32

u8

UTF-8

none

The source character set

Table 126. Execution character sets and their encodings 


The DLIB runtime environment needs a multibyte character scanner to support a multibyte execution character set. See Locale.

Integer character constants with more than one character (6.4.4.4)

An integer character constant that contains more than one character will be treated as an integer constant. The value will be calculated by treating the leftmost character as the most significant character, and the rightmost character as the least significant character, in an integer constant. A diagnostic message will be issued if the value cannot be represented in an integer constant.

Wide character constants with more than one character (6.4.4.4)

A wide character constant that contains more than one multibyte character generates a diagnostic message.

Locale used for wide character constants (6.4.4.4)

See Source and execution character sets (6.4.4.4, 5.1.1.2).

Concatenating wide string literals with different encoding types (6.4.5)

Wide string literals with different encoding types cannot be concatenated.

Locale used for wide string literals (6.4.5)

See Source and execution character sets (6.4.4.4, 5.1.1.2).

Source characters as executive characters (6.4.5)

All source characters can be represented as executive characters.

Encoding of wchar_t, char16_t, and char32_t (6.10.8.2)

wchar_t has the encoding UTF-32, char16_t has the encoding UTF-16, and char32_t has the encoding UTF-32.