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

2021-10-01 20:57:35 字數 625 閱讀 4736

檔案的字符集在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 **頁的編碼。

public system.text.encoding  getfileencodetype(string filename)

else if(buffer[0]==0xfe && buffer[1]==0xff)

else if(buffer[0]==0xff && buffer[1]==0xfe)

else

}else

}

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

不同編碼的文字,是根據文字的前兩個位元組來定義其編碼格式的。定義如下 ansi 無格式定義 unicode 前兩個位元組為fffe unicode big endian 前兩位元組為feff utf 8 前兩位元組為efbb 檔案的字符集在windows下有兩種,一種是ansi,一種unicode。...

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

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

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

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