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.