2017-09-18 3 views
0

que je lise les lignes d'un .log fichier texte.StreamReader de sortie diffère de TextLine

Lorsque exaiming la sortie pendant la course, il montre le texte avec «/» ou «/0 » et comme entre les caractères.

J'ai essayé plusieurs méthodes de lecture (lire aussi octet []), mais cela ne résout pas la situation. Je ne peux pas comprendre pourquoi cela ferait comme ça.

Ceci est la dernière forme de lecture que je l'ai essayé.

string[] fileLinesRaw = System.IO.File.ReadAllLines(filePath); 

Pour être readed ligne de texte:

Text-line

lecteur de sortie

The actual output

+0

semble que votre écriture de chaque char comme une chaîne. \ 0 est la terminaison chaîne ombles – VeNoMiS

+0

écriture Non, la sortie est la ligne de lecture – MwBakker

+1

Montrez comment vous lire, la lecture non UTF-16 en UTF-16 (Encoding.Unicode) causerait cela. –

Répondre

1

Interleaved caractères nuls comme qui indiquent que le fichier est codé avec une schéma qui utilise 2+ octets pour coder les caractères, tels que UTF-16.

ReadAllLines utilise le codage par défaut UTF-8, au lieu:

ReadAllLines(filePath, Encoding.Unicode);