【发布时间】:2011-10-29 19:27:17
【问题描述】:
我想知道有没有一种简单的方法来确定UTF8 字符串中的字符数。
例如,在 windows 中可以通过以下方式完成:
- 将
UTF8字符串转换为wchar_t字符串 - 使用
wcslen函数并得到结果
但我需要更简单和跨平台的解决方案。
提前致谢。
【问题讨论】:
-
使用跨平台库。像重症监护室。注意字符(由 wcslen 返回)和代码点之间的区别。
-
我需要一个函数,它会给我 UTF8 字符串的长度,所以我认为添加整个库以仅使用一个函数并不是一个好主意。
-
那么,复制粘贴代码。它是开源的,您可以随心所欲地使用它。我怀疑你会喜欢跨平台做事所需的典型宏汤。
-
您是否考虑过使用提供强大 Unicode 支持的语言和/或库?自己动手似乎是灾难的根源。
-
@tchrist,不,我假设所有传入路径都将采用 UTF8 格式,并且在库中我使用字符串函数(c 中的 string.h)来操作这些路径。我要检查的一件事是路径的长度。这就是我问这个问题的原因。我的方法是正确的还是有更好的解决方案请告诉我。
标签: c string utf-8 character-encoding