据我所知,linux 使用 UTF-8 编码。这意味着我可以std::string
用来处理字符串吗?只是编码将是 UTF-8。
现在在 UTF-8 上,我们知道有些字符是 1 个字节,有些是 2,3.. 字节。我的问题是:如何使用 C++ 在 Linux 上处理 UTF-8 编码的字符串?
特别是:您将如何获得以字节(或字符数)为单位的字符串长度?你将如何遍历字符串?等等
我问的原因是,正如我所说的 UTF-8 字符可能不止一个字节,对吗?很明显myString[7]
and myString[8]
- 可能不是指两个不同的字符。同样事实是 UTF-8 字符串是十个字节,它的字符数并没有说太多,对吧?