C語言判斷檔案編碼格式

2021-06-27 00:27:34 字數 882 閱讀 1530

/* 

功能:實現檔案編碼格式的判斷

通過乙個檔案的最前面三個位元組,可以判斷出該的編碼型別:

ansi:        無格式定義;(第乙個位元組開始就是檔案內容)

unicode:       前兩個位元組為fffe;

unicode big endian: 前兩位元組為feff; 

utf-8:        前兩位元組為efbb,第三位元組為bf

*/

#include #include #include // 讀取乙個檔案的最前面n個位元組,並以十六進製制形式輸出每個位元組的值

void readnbytes(char *filename, int n)

fread(buf, sizeof(unsigned char), n, fp);

fclose(fp);

printf("%s:\t", filename);

for(i = 0; i < n; i++)

printf("\n");

free(buf);

}

void main()

; int i;

for(i = 0; i < 4; i++)

}

每個測試檔案中的內容都是:你what123456

執行結果為:

ansi.txt:       c4      e3      77

unicode.txt:    ff      fe      60

ubigendian.txt: fe      ff      4f

utf8.txt:       ef      bb      bf

C語言判斷檔案編碼格式

功能 實現檔案編碼格式的判斷 通過乙個檔案的最前面三個位元組,可以判斷出該的編碼型別 ansi 無格式定義 第乙個位元組開始就是檔案內容 unicode 前兩個位元組為fffe unicode big endian 前兩位元組為feff utf 8 前兩位元組為efbb,第三位元組為bf inclu...

C語言判斷檔案編碼格式

功能 實現檔案編碼格式的判斷 通過乙個檔案的最前面三個位元組,可以判斷出該的編碼型別 ansi 無格式定義 第乙個位元組開始就是檔案內容 unicode 前兩個位元組為fffe unicode big endian 前兩位元組為feff utf 8 前兩位元組為efbb,第三位元組為bf inclu...

C 判斷txt檔案編碼格式

獲取檔案的編碼格式 public class encodingtype 通過給定的檔案流,判斷檔案的編碼型別 檔案流 檔案的編碼型別 public static system.text.encoding gettype filestream fs byte unicodebig new byte b...