Устаревшее программное обеспечение, которое я переписываю на Java, использует в качестве хранилища данных пользовательскую (аналогичную Win-1252) кодировку. Для новой системы, которую я собираю, я хотел бы заменить ее на UTF-8.
Так что мне нужно конвертировать эти файлы в UTF-8 для подачи в базу данных. Я знаю используемую карту персонажей, но она не одна из широко известных. Например. «A» находится в позиции 0x0041 (как в Win-1252), но в 0x0042 есть знак, который в UTF-8 появляется в позиции 0x0102, и так далее. Есть ли простой способ декодировать и конвертировать эти файлы с помощью Java?
Я уже прочитал много постов, но все они касались неких пользовательских кодировок промышленного стандарта. Я ожидаю, что можно создать пользовательский java.nio.ByteBuffer.CharsetDecoder
или java.nio.charset.Charset
, чтобы передать его java.io.InputStreamReader
, как описано в первом ответе здесь ?
Любые предложения приветствуются.