gpt4 book ai didi

c++ - 如何计算以任意字符集编码的字符串中的字符数

转载 作者:太空狗 更新时间:2023-10-29 23:15:31 24 4
gpt4 key购买 nike

给定一个 std::string 包含以任意但已知字符集编码的文本。 C++ 中计算字符最简单的方法是什么?它应该能够处理诸如组合字符和 Unicode 代码点之类的事情。

如果有这样的东西就好了:

std::string test = "éäöü";
std::cout << test.size("utf-8") << std::endl;

不幸的是,使用 C++ 并不总是一帆风顺。 :)

对于 Unicode,我看到可以使用 ICU 库:Cross-platform iteration of Unicode string (counting Graphemes using ICU)

但是有更通用的解决方案吗?

最佳答案

恐怕这取决于特定的编码。如果你使用 UTF-8(我真的不明白你为什么不应该),你可以使用 UTF8-CPP .

看起来他们有一个功能可以做到这一点:

::std::string test = "éäöü";
auto length = ::utf8::distance(test.begin(), test.end());
::std::cout << length << "\n"; // should print 4.

关于c++ - 如何计算以任意字符集编码的字符串中的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28716827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com