2013-08-07 1 views
1

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

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

Как отредактировать эти файлы без введения каких-либо дополнительных символов/нарушения кодировки? Правильное отображение всех персонажей было бы здорово, но если это невозможно, я позабочусь просто не нарушая структуру записи.

+0

Не знаете, что означает «Мазовия» здесь - будет ли он соответствовать любому варианту ISO-8859? http://en.wikipedia.org/wiki/ISO-8859 –

+1

Кодировка может быть «Cp437» (DOS). 'byte [] bytes = ...; new String (байты. "Cp437"); ' –

ответ

1

Если вы используете, например, ISO-8859-1 при чтении и записи, вы не будете разрывать файл, так как каждый байт отображает символ, а каждый символ отображается в один байт. (Любая кодировка с этими характеристиками будет выполнена.)

Вы не получите правильные символы Юникода при чтении (для этого вам нужно было бы реализовать пользовательский Charset, и я не уверен, сколько работы это), но по крайней мере, вы не сломаете файл.

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