mmm*_*mmm 6 java encoding character-encoding
我在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如第一个答案在这里所述?
欢迎任何建议.
不需要复杂.只需要一个256个字符的数组
static char[] map = { ... 'A', '\u0102', ... }
Run Code Online (Sandbox Code Playgroud)
然后
read each byte b in source
int index = (0xff) & b; // to make it unsigned
char c = map[index];
target.write( c );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1696 次 |
| 最近记录: |