首页 > 编程知识 正文

c语言汉字的编码是什么,获取文件编码格式

时间:2023-05-06 19:23:48 阅读:170881 作者:802

/*

功能:实现对文件编码格式的判断

可以从文件的前三个字节中确定编码类型。

ANSI :无格式定义; (从第一个字节开始就是文件的内容)

Unicode :前两个字节是FFFE;

Unicode big endian :前两个字节是FEFF;

UTF-8 :前两个字节是EFBB,第三个字节是BF

*/

#包含

#包含

#包含

//读取文件的前n个字节,以十六进制输出每个字节的值

voidreadnbytes(char*filename,int n ) ) ) ) ) ) ) ) ) )。

{

file*FP=fopen(filename,' r ';

unsigned char * buf=(unsigned char * ) malloc ) sizeof(unsignedchar ) *n );

int i;

if (FP==空) )。

{

printf(openfile[%s]failed.n ',fileName );

返回;

}

fread(buf,sizeof(unsignedchar ),n,fp );

flose(FP );

printf('%s:(t ),fileName );

for(I=0; i n; I )

{

printf(%x(t ),buf[i] );

}

打印((n );

free(buf );

}

void main () )

{

char fileName[][50]={'ansi.txt '、' unicode.txt '、' ubigendian.txt '、' utf8.txt'};

int i;

for(I=0; i 4; I )

{

//各文件的内容是你what123456

读我(filename [ I ],3 );

}

}

每个测试文件的内容是你what123456

执行结果如下。

ansi.txt: c4 e3 77

unicode.txt: ff fe 60

ubigendian.txt: fe ff 4f

utf8.txt: ef bb bf

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。