Как преобразовать пользовательский кодированный файл в UTF-8 (на Java или с помощью специального инструмента)

Устаревшее программное обеспечение, которое я переписываю на 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 , как описано в первом ответе здесь ?

Любые предложения приветствуются.

6
задан Community 23 May 2017 в 11:58
поделиться