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:
- String tipinde değişkenin hafızada kapladığı alan
- Hem benzersiz hem de geçici dosya oluşturmanın en kolay yolu
- Bu kodda ne yanlış var? – 9
- FileStream sınıfına Kaydet() ExtensionMethod’u yazalım
- Birkaç Faydalı Extension Method
- C# MD5 yöntemi ile metin şifreleme
- C# ile string sınıfına ContainsText isimli ExtensionMethod yazalım
- Dizide bir elemandan kaç adet olduğunu bulalım
- C# ile Geçici Dosya Oluşturmak
- LINQ ile Dosya Sisteminde Sorgulama Yapmak