我的平台是 Mac。我是一个 C + + 初学者,正在从事一个处理中文和英文的个人项目。UTF-8是此项目的首选编码。
我读了一些关于 Stack Overflow 的文章,其中许多文章建议在处理 UTF-8时使用 std::string
,避免使用 wchar_t
,因为目前没有针对 UTF-8的 char8_t
。
然而,它们都没有谈到如何正确处理像 str[i]
、 std::string::size()
、 std::string::find_first_of()
或 std::regex
这样的函数,因为这些函数在面对 UTF-8时通常会返回意想不到的结果。
我应该继续使用 std::string
还是切换到 std::wstring
?如果我继续使用 std::string
,那么处理上述问题的最佳实践是什么?