2012-02-07 2 views
16

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

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

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

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

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

+2

Обнаружение кодировок - очень сложная проблема, и для некоторых кодировок единственным способом узнать один из них является правильный контекстный анализ (это очень нетривиальная задача). Если вы точно знаете, какие кодировки вам нужны для поддержки (например, UTF-16, UTF-8, ISO-8859-1), это может стать проще, но это зависит от того, каковы эти кодировки. –

+2

, если вы не получите исключение, не обязательно означает, что он был успешным – MozenRath

+0

Я сочувствую вам. –

ответ

10

Универсальный планшет Mozilla должен быть эффективным детектором. juniversalchardet - это порт java. Есть еще один порт. Прочтите это СО для получения дополнительной информации. Character Encoding Detection Algorithm

+1

, я вижу, что лицензия не апач. насколько он отличается от apache? –

 Смежные вопросы

  • Нет связанных вопросов^_^