我想知道是否有一种简单的方法来确定 UTF8
字符串中的字符数。
例如,在 Windows 中可以通过以下方式完成:
- 将
UTF8
字符串转换为wchar_t
字符串 - 使用
wcslen
函数并得到结果
但我需要更简单的跨平台解决方案。
提前致谢。
最佳答案
UTF-8 字符要么是最左边的位是 0
的单字节,要么是第一个字节最左边的位是 1..10.. 的多字节。 .
(左侧 1 的个数为 2 个或更多)后跟 10...
形式的连续字节(即左侧为单个 1)。假设您的字符串格式正确,您可以遍历所有字节并在每次看到不是 10...
形式的字节时增加“字符数” - 即只计算所有 UTF-8 字符中的第一个字节。
关于c - 如何知道utf8字符串中的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7108241/