如题所述
C语言读写文件 一种是文本方式,另一种是2进制方式。日文,中文,unicode, 都要用2进制方式。文件内容 的编码 和编码的转化,同一种编码的大端或小端编码,都要自己安排处理。
(1)用2进制方式打开文件
(2)读/写 UTF-8的编码文件 开头
有3 个特殊字节,数值是16进制: EF BB BF
(3)UCS 编码(16进制) 的 UTF-8 字节流(二进制) :
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx
010000 -- 1FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
按此转换,用fwrite() 输出字节流。
或按字节 fread() 读入,判断高位,决定连读2个还是3个4个字节,译为 UCS
(1)用2进制方式打开文件
(2)读/写 UTF-8的编码文件 开头
有3 个特殊字节,数值是16进制: EF BB BF
(3)UCS 编码(16进制) 的 UTF-8 字节流(二进制) :
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx
010000 -- 1FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
按此转换,用fwrite() 输出字节流。
或按字节 fread() 读入,判断高位,决定连读2个还是3个4个字节,译为 UCS
温馨提示:答案为网友推荐,仅供参考