C++ UTF-8实际字符串长度

MBZ*_*MBZ 3 c++ string unicode std utf-8

C++在任何标准库中是否有任何本机(跨平台)函数返回实际长度std::string

更新: 我们知道std::string.length()返回字节数而不是字符数.我已经有一个自定义函数返回实际函数,但我正在寻找一个标准函数.

Ben*_*igt 6

codecvt应该有用,标准提供了UTF-8的实现,例如codecvt_utf8<char32_t>()在这种情况下是合适的.

可能是这样的:

wstring_convert< codecvt_utf8<char32_t>, char32_t >().from_bytes(the_std_string).size()
Run Code Online (Sandbox Code Playgroud)