命名空间
变体
操作

char8_t

来自 cppreference.com
< c‎ | string‎ | multibyte
在头文件 <uchar.h> 中定义
typedef unsigned char char8_t;
(自 C23 起)

char8_t 是一个无符号整数类型,用于 UTF-8,与 unsigned char 类型相同。

[编辑] 示例

#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");
}

可能的输出

11 UTF-8 code units: [ 7A C3 9F E6 B0 B4 F0 9F 8D 8C 00 ]

[编辑] 参考资料

  • C23 标准 (ISO/IEC 9899:2024)
  • 7.30 Unicode 实用程序 <uchar.h> (p: 410)

[编辑] 另请参阅

C++ 文档 用于 基本类型