Salut à tous,
j'ai un fichier .txt avec une ligne qui possède des caractères invisibles à Windows. Quand j'importe ce fichier sous UNIX, ses caractères apparaissent clairement.

La ligne sous Windows :
021000012509140420121600000000000xxxxxxxxxxxxxxxxxxxxxxxx00000
la ligne sous UNIX :
\357\273\277021000012509140420121600000000000xxxxxxxxxxxxxxxxxxxxxxxx00000
Mon souci est de pouvoir vérifier la présence de ses caractères et ramener un message erreur avec la ligne concernée.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
//Effectue un test sur le fichier afin de contrôler les caractères invisibles
                bool retour = true;
                int longueurLigne = 128; // Les caractères maximum sur une ligne doivent etre de 128.
                StreamReader sr = new StreamReader(FILEDIALOG.FileName, Encoding.UTF8); //recuperation du fichier à controler
 
                string s = string.Empty;
                while ((s = sr.ReadLine()) != null)
                {
                    if (s.Length > longueurLigne)
                    {
                        retour = false;
                        string[] lines_caractere = { "Présence de caractères invisibles sur la ligne : " + " " + s };
                        //remplir le fichier erreur.txt avec retour à la ligne
                        System.IO.File.WriteAllLines(Application.StartupPath + "\\erreur.txt", lines_caractere);
                        TXT.Text = "";
                    }
                }
                string text = Convert.ToString(retour);
Ce code ne détecte pas la présence des caractères invisibles en début de lignes et Je sollicite votre aide.