C语言实现 对UTF-8字符串长度计算算法
时间: 2023-12-28 15:03:29 浏览: 198
C语言中计算字符串长度与分割字符串的方法
UTF-8字符串长度计算算法的实现可以参考以下代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int utf8_strlen(const char *str) {
int len = 0;
int i = 0;
while (str[i] != '\0') {
if ((str[i] & 0xc0) != 0x80) { // 判断是否是UTF-8字符的第一个字节
len++;
}
i++;
}
return len;
}
int main() {
char *str = "Hello, 世界!";
int len = utf8_strlen(str);
printf("%d\n", len); // 输出 9
return 0;
}
```
上述代码中,`utf8_strlen` 函数接受一个 UTF-8 编码的字符串,返回字符串的字符长度。函数使用了一个循环来遍历字符串中的每个字节,并判断该字节是否是 UTF-8 字符的第一个字节。如果是,则字符长度加一。最终返回的字符长度就是字符串的实际长度。
阅读全文