search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

C# 判斷 檔案是否為UTF8格式 [任何程式語言都可參考此作法 ~ 此程式包含判斷ANSI、UTF8、Unicode的技巧,但是我單純改寫成判斷UTF8] – jashliao部落格

C# 判斷 檔案是否為UTF8格式 [任何程式語言都可參考此作法 ~ 此程式包含判斷ANSI、UTF8、Unicode的技巧,但是我單純改寫成判斷UTF8]


資料來源:https://blog.xuite.net/jaofeng.chen/DesignShow/4702957-用程式判斷文字檔的檔案編碼Encoding


https://docs.microsoft.com/zh-tw/dotnet/api/system.text.encoding.getencoding?view=netframework-4.8


GITHUB: https://github.com/jash-git/CS_Check_File_IsUTF8


此程式包含判斷ANSI、UTF8、Unicode的技巧,但是我單純改寫成判斷UTF8]


static bool IsUTF8File (String StrName)
{
	bool blnAns = false;

	Stream reader = File.Open(StrName, FileMode.Open, FileAccess.Read);
	Encoding encoder = null;
	byte[] header = new byte[4];
	// 讀取前四個Byte
	reader.Read(header, 0, 4);
	if (header[0] == 0xFF && header[1] == 0xFE)
	{
		// UniCode File
		reader.Position = 2;
		encoder = Encoding.Unicode;
	}
	else if (header[0] == 0xEF && header[1] == 0xBB && header[2] == 0xBF)
	{
		// UTF-8 File
		reader.Position = 3;
		encoder = Encoding.UTF8;
		blnAns = true;
	}
	else
	{
		// Default Encoding File
		reader.Position = 0;
		encoder = Encoding.Default;
	}

	reader.Close();
	// .......... 接下來的程式

	return blnAns;
}



熱門推薦

本文由 jashliaoeuwordpress 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦