Contents
UTF-8字符串长度的程序
张沈鹏 <[email protected]> reply-to [email protected] to [email protected] date Thu, Jun 5, 2008 at 9:12 AM subject [CPyUG:53685] 谁能解释一下我在这个网页看到的UTF-8字符串长度的程序?
谁能解释一下我在这个网页看到的UTF-8字符串长度的程序?
http://wangcong.org/blog/?p=357
在这里看到这么一个计算UTF-8字符串长度的程序:
1. int my_strlen_utf8_c(char *s) { 2. int i = 0, j = 0; 3. while (s[i]) { 4. if ((s[i] & 0xc0) != 0x80) j++; 5. i++; 6. } 7. return j; 8. }
不解。查wikipedia,得一表:
00000000 00000000 0zzzzzzz 0zzzzzzz 00000000 00000yyy yyzzzzzz 110yyyyy 10zzzzzz 00000000 xxxxyyyy yyzzzzzz 1110xxxx 10yyyyyy 10zzzzzz 000wwwxx xxxxyyyy yyzzzzzz 11110www 10xxxxxx 10yyyyyy 10zzzzzz
顿悟。 """
反馈
创建 by -- ZoomQuiet [2008-06-05 01:20:23]