Caractères invisibles à Windows
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 :
Citation:
021000012509140420121600000000000xxxxxxxxxxxxxxxxxxxxxxxx00000
la ligne sous UNIX :
Citation:
\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:
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.