相关疑难解决方法(0)

获取UTF-8编码的std :: string的实际长度?

我的std :: string是utf-8编码所以很明显,str.length()返回错误的结果.

我发现了这些信息,但我不确定如何使用它来执行此操作:

以下字节序列用于表示字符.要使用的序列取决于字符的UCS代码编号:

   0x00000000 - 0x0000007F:
       0xxxxxxx

   0x00000080 - 0x000007FF:
       110xxxxx 10xxxxxx

   0x00000800 - 0x0000FFFF:
       1110xxxx 10xxxxxx 10xxxxxx

   0x00010000 - 0x001FFFFF:
       11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
Run Code Online (Sandbox Code Playgroud)

如何找到UTF-8编码的std :: string的实际长度?谢谢

c++ algorithm

32
推荐指数
5
解决办法
3万
查看次数

查找 std::wstring 的长度

如何确定 a 中的长度(字符数)std::wstring

使用myStr.length()给出了字节大小(我认为),但不是字符数。我是否需要创建自己的函数来查找字符数,或者是否有本机 C++ 方式或本机 WinAPI 方式

c++ unicode winapi wstring

3
推荐指数
1
解决办法
8418
查看次数

如何获得std :: string的准确长度?

我正在std::string使用此代码修剪一个long 以使其适合文本容器.

std::string AppDelegate::getTrimmedStringWithRange(std::string text, int range)
{
    if (text.length() > range)
    {
        std::string str(text,0,range-3);
        return str.append("...");
    }
    return text;
}
Run Code Online (Sandbox Code Playgroud)

但在其他语言的情况下,如HINDI "??????"长度std::string是错误的.

我的问题是如何在所有测试用例中检索std :: string的准确长度.

谢谢

c++ string std

1
推荐指数
2
解决办法
2178
查看次数

标签 统计

c++ ×3

algorithm ×1

std ×1

string ×1

unicode ×1

winapi ×1

wstring ×1