判斷乙個文字檔案的編碼格式

2021-06-27 16:33:52 字數 1690 閱讀 4507

不同編碼的文字,是根據文字的前兩個位元組來定義其編碼格式的。定義如下:

ansi:          無格式定義; 

unicode:       前兩個位元組為fffe; 

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

utf-8:        前兩位元組為efbb; 

檔案的字符集在windows下有兩種,一種是ansi,一種unicode。

對於unicode,windows支援了它的三種編碼方式,一種是小尾編碼(unicode),一種是大尾編碼(bigendianunicode),一種是utf-8編碼。

我們可以從檔案的頭部來區分乙個檔案是屬於哪種編碼。當頭部開始的兩個位元組為 ff fe時,是unicode的小尾編碼;當頭部的兩個位元組為fe ff時,是unicode的大尾編碼;當頭部兩個位元組為ef bb時,是unicode的utf-8編碼;當它不為這些時,則是ansi編碼。

按照如上所說,我們可以通過讀取檔案頭的兩個位元組來判斷檔案的編碼格式,**如下(c#**):

程式中system.text.encoding.default是指作業系統的當前 ansi **頁的編碼。?

12

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

publicsystem.text.encoding  getfileencodetype(stringfilename)

elseif(buffer[0]==0xfe && buffer[1]==0xff)

elseif(buffer[0]==0xff && buffer[1]==0xfe)

else

}

else

}

判斷乙個文字檔案的編碼格式

檔案的字符集在windows下有兩種,一種是ansi,一種unicode。對於unicode,windows支援了它的三種編碼方式,一種是小尾編碼 unicode 一種是大尾編碼 bigendianunicode 一種是utf 8編碼。我們可以從檔案的頭部來區分乙個檔案是屬於哪種編碼。當頭部開始的兩...

判斷乙個文字檔案的編碼格式

檔案的字符集在windows下有兩種,一種是ansi,一種unicode。對於unicode,windows支援了它的三種編碼方式,一種是小尾編碼 unicode 一種是大尾編碼 bigendianunicode 一種是utf 8編碼。我們可以從檔案的頭部來區分乙個檔案是屬於哪種編碼。當頭部開始的兩...

如何判斷文字檔案的編碼格式?

這裡指的文字是用於windows系統中的擴充套件名為.txt的檔案。notepad 記事本 只支援四種格式 ansi unicode unicode big endian uft 8,在delphi中如何判斷與讀取這些不同格式的文字呢?首先,不同編碼的文字,是根據文字的前兩個位元組來定義其編碼格式的...