我的std :: string是utf-8编码所以很明显,str.length()返回错误的结果.
我发现了这些信息,但我不确定如何使用它来执行此操作:
以下字节序列用于表示字符.要使用的序列取决于字符的UCS代码编号:
Run Code Online (Sandbox Code Playgroud)0x00000000 - 0x0000007F: 0xxxxxxx 0x00000080 - 0x000007FF: 110xxxxx 10xxxxxx 0x00000800 - 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx 0x00010000 - 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
如何找到UTF-8编码的std :: string的实际长度?谢谢
如何确定 a 中的长度(字符数)std::wstring?
使用myStr.length()给出了字节大小(我认为),但不是字符数。我是否需要创建自己的函数来查找字符数,或者是否有本机 C++ 方式或本机 WinAPI 方式?
我正在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的准确长度.
谢谢