Dans notre application, nous recevons des fichiers texte ( .txt
, .csv
, etc.) provenant de sources diverses. Lors de la lecture, ces fichiers contiennent parfois des déchets, car les fichiers ont été créés dans une page de code différente / inconnue.
Existe-t-il un moyen de détecter (automatiquement) la page de code d'un fichier texte?
Le detectEncodingFromByteOrderMarks
, le StreamReader
constructeur, travaille pour UTF8
et d' autres fichiers marqués unicode, mais je suis à la recherche d'un moyen de détecter les pages de code, comme ibm850
, windows1252
.
Merci pour vos réponses, c'est ce que j'ai fait.
Les fichiers que nous recevons proviennent d'utilisateurs finaux, ils n'ont aucune idée des pages de codes. Les récepteurs sont également des utilisateurs finaux, c'est maintenant ce qu'ils savent des pages de codes: les pages de codes existent et sont ennuyeuses.
Solution:
- Ouvrez le fichier reçu dans le Bloc-notes, regardez un morceau de texte tronqué. Si quelqu'un s'appelle François ou quelque chose, avec votre intelligence humaine, vous pouvez le deviner.
- J'ai créé une petite application que l'utilisateur peut utiliser pour ouvrir le fichier et saisir un texte dont l'utilisateur sait qu'il apparaîtra dans le fichier, lorsque la bonne page de code est utilisée.
- Parcourez toutes les pages de code et affichez celles qui donnent une solution avec le texte fourni par l'utilisateur.
- Si plusieurs pages de code apparaissent, demandez à l'utilisateur de spécifier plus de texte.