uchar.h
—
unicode utilities header
The <uchar.h>
header provides
support for the C11 Unicode utilities. The types and functions provide means
for working with data encoded as UTF-16 and UTF-32. When working in
non-Unicode locales, these types may not represent Unicode code points.
The <uchar.h>
header defines the following types:
- char16_t
- An unsigned integer that can represent 16-bit characters, generally a
single single UTF-16 code unit. A Unicode code point may be one or two
UTF-16 code units due to surrogate pairs.
- char32_t
- An unsigned integer that can represent 32-bit characters, generally a
single UTF-32 code unit.
- size_t
- An unsigned integer that represents the size of various objects. This can
hold the result of the sizeof operator. See also
stddef.h(3HEAD).
- mbstate_t
- An object that holds the state for converting between character sequences
and wide characters (wchar_t,
char16_t, char32_t). See also,
wchar.h(3HEAD).
The <uchar.h>
header also
defines the following functions which are used to convert between
char16_t and char32_t sequences
and other character sequences:
- c16rtomb(3C)
- Convert char16_t sequences to multi-byte character
sequences.
- c32rtomb(3C)
- Convert char32_t sequences to multi-byte character
sequences.
- mbrtoc16(3C)
- Convert multi-byte character sequences to char16_t
sequences.
- mbrtoc32(3C)
- Convert multi-byte character sequences to char32_t
sequences.