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