char8_t
Defined in header <uchar.h> | ||
---|---|---|
typedef unsigned char char8_t; | (since C23) |
char8_t
is an unsigned integer type used for UTF-8 and is the same type as unsigned char
.
Example
#include <uchar.h> #include <stdio.h> int main(void) { char8_t str[] = u8"zß水🍌"; // or "z\u00df\u6c34\U0001f34c" size_t str_sz = sizeof str; // sizeof *str == 1 by definition printf("%zu UTF-8 code units: [ ", str_sz); for (size_t n = 0; n < str_sz; ++n) printf("%02X ", str[n]); printf("]\n"); }
Possible output:
11 UTF-8 code units: [ 7A C3 9F E6 B0 B4 F0 9F 8D 8C 00 ]
References
- C23 standard (ISO/IEC 9899:2023):
- 7.30 Unicode utilities <uchar.h> (p: 410)
See also
C++ documentation for Fundamental types |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/string/multibyte/char8_t