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

标签 c++ string unicode utf-8 std

是否有任何标准库中的原生(跨平台)C++ 函数返回 std::string 的实际长度?

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

最佳答案

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

大概是这样的:

wstring_convert< codecvt_utf8<char32_t>, char32_t >().from_bytes(the_std_string).size()

关于C++ UTF-8 实际字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16863937/

相关文章:

c++ - C++中将string转int,测试成功

c++ - 如何为 UNC 路径制作长 Unicode 版本?

c++ - 简化简单的 C++ 代码——类似于 Pythons any

python - 在 Python 中将字符转换为 int,反之亦然

c++ - Kiss FFT 似乎将数据乘以它转换的点数

c - 没有赋值就将字符串连接到另一个字符串中,这是为什么?

java - 跨平台 unicode 支持

php - MySQL PHP - 如何显示存储在数据库中的不可读字符

c++ - 如何使用 glPolygonStipple 创建粗斜条纹?

c++ - cURL CONNECTTIMEOUT 警报