C++ 循环使用多种语言字符串的字符

C++ 循环使用多种语言字符串的字符,c++,utf,pango,freetype2,C++,Utf,Pango,Freetype2,问题是关于文本渲染,我的系统是Pango+FreeType+FontConfig+CentOS 我的最终目标是确定字体是否可以支持给定字符串的所有字符。给定的字符串可以使用多种语言 到目前为止,我找到的最佳解决方案是使用。因此,我需要能够循环字符串的字符。下面是一个测试用例:“TestText測試テスト", 我使用std::string来存储它。当我循环通过它时,我得到: length = 23, string = TestText測試テスト T, 54 e, 65 s, 73 t, 74 T,

问题是关于文本渲染,我的系统是Pango+FreeType+FontConfig+CentOS

我的最终目标是确定字体是否可以支持给定字符串的所有字符。给定的字符串可以使用多种语言

到目前为止,我找到的最佳解决方案是使用。因此,我需要能够循环字符串的字符。下面是一个测试用例:“TestText測試テスト", 我使用std::string来存储它。当我循环通过它时,我得到:

length = 23, string = TestText測試テスト
T, 54
e, 65
s, 73
t, 74
T, 54
e, 65
x, 78
t, 74
byte 0: 54
byte 1: 65
byte 2: 73
byte 3: 74
byte 4: 54
byte 5: 65
byte 6: 78
byte 7: 74
byte 8: E6
byte 9: B8
byte 10: AC
byte 11: E8
byte 12: A9
byte 13: A6
byte 14: E3
byte 15: 83
byte 16: 86
byte 17: E3
byte 18: 82
byte 19: B9
byte 20: E3
byte 21: 83
byte 22: 88
在这种情况下,我可能无法使用简单for循环,因为某些字符的长度超过1字节。正确的循环方式是什么


感谢您的建议,以及除freetype函数之外的其他解决方案。

字符串使用什么编码?