Автоопределение кодировки символов в Java - PullRequest
18 голосов
/ 07 февраля 2012

Кажется, это довольно серьезная проблема, но я пока не смог найти решение; возможно, потому что это входит в много ароматов. Здесь это все же. Я пытаюсь прочитать некоторые файлы с разделителями-запятыми (иногда разделители могут быть немного более уникальными, чем запятые, но на данный момент запятых будет достаточно).

Предполагается, что файлы будут стандартизированы по всей отрасли, но в последнее время мы видели, как поступает много разных типов файлов наборов символов. Я хотел бы иметь возможность настроить BufferedReader для компенсации этого.

Каков довольно стандартный способ сделать это и определить, был ли он успешным или нет?

Мои первые мысли об этом подходе - циклически проходить наборы символов simple-> complex, пока я не смогу прочитать файл без исключения. Хотя не совсем идеально ...

Спасибо за внимание.

1 Ответ

11 голосов
/ 07 февраля 2012

Mozilla universalchardet должен быть эффективным детектором. juniversalchardet является его Java-портом.Есть еще один порт.Прочтите это SO для получения дополнительной информации Алгоритм обнаружения кодировки символов

...