В нашем приложении мы получаем текстовые файлы ( .txt
, .csv
и т.д.) из различных источников. При чтении эти файлы иногда содержат мусор, поскольку файлы были созданы в другой / неизвестной кодовой странице.
Есть ли способ (автоматически) определить кодовую страницу текстового файла?
detectEncodingFromByteOrderMarks
, На StreamReader
конструкторе, работает UTF8
и другие Юникод отмеченных файлов, но я искал способ обнаружения кодовых страниц, как ibm850
, windows1252
.
Спасибо за ваши ответы, это то, что я сделал.
Файлы, которые мы получаем от конечных пользователей, не имеют понятия о кодовых страницах. Получатели также являются конечными пользователями, и теперь они знают о кодовых страницах: кодовые страницы существуют и раздражают.
Решение:
- Откройте полученный файл в Блокноте, посмотрите на искаженный фрагмент текста. Если кого-то зовут Франсуа или что-то еще, с вашим человеческим интеллектом вы можете догадаться об этом.
- Я создал небольшое приложение, с помощью которого пользователь может открыть файл и ввести текст, который, как он знает, будет отображаться в файле при использовании правильной кодовой страницы.
- Переберите все кодовые страницы и отобразите те, которые дают решение, с предоставленным пользователем текстом.
- Если появляется более одной кодовой страницы, попросите пользователя указать больше текста.