Technorati 标签: 编码, strlen

代码是相同的:

#include <stdio.h>
#include <malloc.h>
#include <string.h>

int main()
{
    printf("%d\n", strlen("һ"));

    return 0;
}

在vim下分别输入

: set fileencoding=utf-8

or

: set fileencoding=cp936

会得到不一样的结果。

就是由于编码方式不同引起的,如果直接用gdb查看下也应该很明显了。