如何将自定义编码文件转换为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,如第一个答案here中所述?

欢迎任何建议.

不需要复杂.只需要一个256个字符的数组

static char[] map = { ... 'A', '\u0102', ... }

然后

read each byte b in source
    int index = (0xff) & b; // to make it unsigned
    char c = map[index];
    target.write( c );
相关文章
相关标签/搜索