1 2 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 30 31 32 33 34 35 36 37 38
|
utf8 = new UTF8Encoding(false);
string fileName = FILEDIALOGBIAO.FileName;
string[] lignes = File.ReadAllLines(fileName);
int lignesfichier = lignes.Length;
Encoding enc = null;
FileStream file = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
if (file.CanSeek)
{
byte[] bom = new byte[4]; // Obtenez la marque d'ordre d'octet, s'il en existe un
file.Read(bom, 0, 4);
if (bom[0] == 0xef && bom[1] == 0xbb && bom[2] == 0xbf) // utf-8
{
enc = Encoding.UTF8;
}
else if ((bom[0] == 0xff && bom[1] == 0xfe) || // ucs-2le, ucs-4le, and ucs-16le
(bom[0] == 0 && bom[1] == 0 && bom[2] == 0xfe && bom[3] == 0xff)) // ucs-4
{
enc = Encoding.Unicode;
}
else if (bom[0] == 0xfe && bom[1] == 0xff) // utf-16 and ucs-2
{
enc = Encoding.BigEndianUnicode;
}
else // ANSI, Default
{
enc = Encoding.Default;
}
// Maintenant repositionner le fichier curseur au début du fichier
file.Seek(0, SeekOrigin.Begin);
}
else
{
enc = Encoding.Default;
}
MessageBox.Show(Convert.ToString(enc)); |
Partager