windows 如何在C++中轻松使用unicode?[已关闭]

qybjjes1  于 2022-12-30  发布在  Windows
关注(0)|答案(1)|浏览(107)

已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。

2天前关闭。
Improve this question
在C中,没有一个固定的编码标准,如果我想使用unicode,例如,在C for Windows中使用UTF-8,我该怎么做呢?
1.在Windows上,我必须使用像宽字符串这样的东西来使用unicode,这是唯一的方法吗?
1.如果我必须使用第三方库,您可以推荐哪些库?
1.使用unicode代替std::string时需要记住什么?

hfyxw5xn

hfyxw5xn1#

如果您谈论的是源代码,那么它的实现特定于每个编译器,但我相信每个现代编译器至少支持UTF-8。
C++本身有以下类型来支持Unicode:wchar_tchar16_tchar32_tchar8_t用于字符,以及对应的std::wstringstd::u16stringstd::u32stringstd::u8string用于字符串。
以及以下文字符号:

char8_t ch_utf8 = u8'c';
char16_t ch_utf16 = u'c';
char32_t ch_utf32 = U'C';
wchar_t ch_wide = L'c';

char8_t str_utf8[] = u8"str";
char16_t str_utf16[] = u"str";
char32_t str_utf32[] = U"str";
wchar_t str_wide[] = L"str";

std::codecvt模板,用于不同编码之间的字符串转换。

相关问题