Ana Sayfa > C#, Programlama > Dosyanın UTF8 Formatında Olduğunu Belirleme

Dosyanın UTF8 Formatında Olduğunu Belirleme

BilgeAdam‘da bir öğrencimin sorusu üzerine, bir dosyanın UTF8 formatında olup olmadığını belirlemek için programatik yollar düşünmeye başlamıştım.

System.Text namespace’inde bulunan Encoding class‘ını incelerken şöyle bir yol buldum;

public static bool IsUtf8(string DosyaAdi)
{
	using (var Dosya = File.Open(DosyaAdi, FileMode.Open))
	{
		byte[] pre = Encoding.UTF8.GetPreamble();
		var b = new byte[pre.Length];
		Dosya.Read(b, 0, b.Length);
		return b.SequenceEqual(pre);
	}
}

Sadece dosyanın UTF8 olduğunu kontrol etmek için biraz hantal bir yol gibi gözüküyor değil mi?

Daha iyi bir yöntem öneriniz varsa, yorumlarınızı bekliyorum.


İlgili diğer başlıklar:

  1. String tipinde değişkenin hafızada kapladığı alan
  2. FileStream sınıfına Kaydet() ExtensionMethod’u yazalım
  3. Hem benzersiz hem de geçici dosya oluşturmanın en kolay yolu
  4. Birkaç Faydalı Extension Method
  5. Dizide bir elemandan kaç adet olduğunu bulalım

  1. Henüz yorum yapılmamış.
  1. Henüz geri dönüş yok.