假设我想在C ++中存储一个(不是std :: string中的)Unicode字符,我该怎么做? Char8_t是C ++ 20中引入的,但似乎只是unsigned char的typedef,最多存储1字节的信息。某些字符(尤其是像emoji表情这样的特殊字符)一次最多可占用4个字节。
无效的代码示例:
char8_t smth = "😀";
有趣的是,尽管sizeof()表示它为8字节大,但仍会起作用,我对此有些怀疑。
const char* smth = "😀";
假设我想在C ++中存储一个(不是std :: string中的)Unicode字符,我该怎么做? Char8_t是C ++ 20中引入的,但似乎只是unsigned char的typedef,最多存储1字节的信息。某些字符(尤其是像emoji表情这样的特殊字符)一次最多可占用4个字节。
无效的代码示例:
char8_t smth = "😀";
有趣的是,尽管sizeof()表示它为8字节大,但仍会起作用,我对此有些怀疑。
const char* smth = "😀";