记录一下关于编码的问题

来源:互联网 发布:知乎问题 编辑:程序博客网 时间:2024/06/03 22:43

首先说下GBK和GB2312的关系:GBK是GB2312的扩展。

在来说下汉字在GB2312和UTF-8中占的字节:在GB2312中汉字占两个字节,半角英文占一个字节,全角占两个字节

在UTF-8中,英文数字占1个字节,汉字占3个字节,当然也有占4个字节的。

ASNI编码:不是一种具体的编码,是在某种特定的环境下使用某些编码方式的标准,比如,在中文环境中ANSI的编码标准为GBK,在日语环境中ANSI的编码标准则是Shift_JIS编码。

我想做的是创建一个GB2312编码的文件,但是没有成功。创建utf-8编码的文件成功了,采用的事修改文件头的方式

char header[3] = {0xef, 0xbb, 0xbf};  // UTF-8 file header
        FILE * fp = fopen("file.txt", "w+b");
        fwrite(header, sizeof(char), 3, fp);
        /* 在UTF-8文件头部之后写入其他信息 */
        fclose(fp);
先说到这