Общей ошибкой при написании кода, который читает текст из потока в Java, является забывание указать кодировку. Если вы ничего не укажете, Java будет использовать кодировку по умолчанию для платформы, которая в конечном итоге вызывает проблемы («Но это работает на моем компьютере!»).Какую кодировку использовать для поиска кода, который использует кодировку по умолчанию?
Чтобы найти эти проблемы, я хочу использовать необычную по умолчанию кодировку, которая должна прерывать как можно больше операций ввода-вывода. Идея состоит в том, что по крайней мере любой персонаж вне ASCII будет искажен.
В большинстве наших документов используется кодировка UTF-8. ISO-8859-1 может работать, потому что он просто сохраняет вход (это сопоставление 1: 1 между байтами и символами). Любые умляуты будут считывать последовательности с двумя/древовидными байтами. Но мне интересно, можем ли мы сделать лучше.
Какую кодировку вы предлагаете использовать с list of supported encodings?
EBCDIC - это весело, если у вашей JVM есть некоторые. http://en.wikipedia.org/wiki/Extended_Binary_Coded_Decimal_Interchange_Code – Mat
У меня есть EBCDIC (Cp037 на Java), но когда я использую эту кодировку, я больше не могу запускать Maven, потому что он пытается создавать процессы с использованием закодированных строк EBCDIC ...; -) –