我必须在 Windows MSVC 10 中使用 Unicode UTF-8 的应用程序中进行编码。我知道 UTF-8 编码的字符串每个字符将使用 1 个或 2 个字节。所以,我的问题是:std::string 适合这个吗?如果是,我如何解码字符串?据我了解 std::string 只是一个字节数组,它不提供任何解码逻辑。我怎么知道字符串的逻辑长度?如何从字符串中提取逻辑字符?是否有任何库可以帮助我从字符串中提取逻辑字符?
例如:如果我在 std::string 中有字符串“olé”,我需要知道长度是 3,而不是 4。