#define UTF8_ASCII(byte) (((unsigned char)(byte)>=0x00)&&((unsigned char)(byte)<=0x7F))
#define UTF8_FIRST(byte) (((unsigned char)(byte)>=0xC0)&&((unsigned char)(byte)<=0xFD))
#define UTF8_OTHER(byte) (((unsigned char)(byte)>=0x80)&&((unsigned char)(byte)<=0xBF))
long utf8_wchar_count(char *buffer, long len)
{
char *p = 0;
long count = 0;
if (!buffer || len <= 0) {
return 0;
}
for(p=buffer; p<buffer+len; p++) {
if (UTF8_ASCII(*p) || (UTF8_FIRST(*p))) {
count++;
}
}
return count;
}对UTF8编码方式字数做统计的函数
最新推荐文章于 2024-05-14 07:17:27 发布
本文介绍了一个用于计算UTF-8编码字符串中有效宽字符数量的C语言函数。通过宏定义判断ASCII、UTF-8首字节和其他字节,实现了对UTF-8编码字符串的有效解析。
1607

被折叠的 条评论
为什么被折叠?



