Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中读取CP895(Kamenicky)编码的DBF文件_Java_Encoding_Character Encoding_Dbf - Fatal编程技术网

如何在Java中读取CP895(Kamenicky)编码的DBF文件

如何在Java中读取CP895(Kamenicky)编码的DBF文件,java,encoding,character-encoding,dbf,Java,Encoding,Character Encoding,Dbf,我有一个用CP895(Kamenicky)编码的DBF文件,我想用Java读取它。 如何将CP895重新编码为UTF8?第一步-创建Kamenicky字符表: 公共静态字符[]getKamenickyCharTable(){ char[]map={'\u0000'、'\u0001'、'\u0002'、'\u0003'、'\u0004'、'\u0005'、'\u0006'、'\u0007'、'\u0008'、'\u0009'、'\n'、'\u000B', “\u000C”、“\r”、“\u000E

我有一个用CP895(Kamenicky)编码的DBF文件,我想用Java读取它。
如何将CP895重新编码为UTF8?

第一步-创建Kamenicky字符表:

公共静态字符[]getKamenickyCharTable(){ char[]map={'\u0000'、'\u0001'、'\u0002'、'\u0003'、'\u0004'、'\u0005'、'\u0006'、'\u0007'、'\u0008'、'\u0009'、'\n'、'\u000B', “\u000C”、“\r”、“\u000E”、“\u000F”, '\u0010'、'\u0011'、'\u0012'、'\u0013'、'\u0014'、'\u0015'、'\u0016'、'\u0017'、'\u0018'、'\u0019'、'\u001A'、'\u001B'、'\u001C', “\u001D”、“\u001E”、“\u001F”, '\u0020'、'\u0021'、'\u0022'、'\u0023'、'\u0024'、'\u0025'、'\u0026'、'\'''''、'\u0028'、'\u0029'、'\u002A'、'\u002B'、'\u002C', “\u002D”、“\u002E”、“\u002F”, “\u0030”、“\u0031”、“\u0032”、“\u0033”、“\u0034”、“\u0035”、“\u0036”、“\u0037”、“\u0038”、“\u0039”、“\u003A”、“\u003B”、“\u003C”, “\u003D”、“\u003E”、“\u003F”, '\u0040'、'\u0041'、'\u0042'、'\u0043'、'\u0044'、'\u0045'、'\u0046'、'\u0047'、'\u0048'、'\u0049'、'\u004A'、'\u004B'、'\u004C', '\u004D'、'\u004E'、'\u004F', “\u0050”、“\u0051”、“\u0052”、“\u0053”、“\u0054”、“\u0055”、“\u0056”、“\u0057”、“\u0058”、“\u0059”、“\u005A”、“\u005B”、“\”, '\u005D'、'\u005E'、'\u005F', '\u0060'、'\u0061'、'\u0062'、'\u0063'、'\u0064'、'\u0065'、'\u0066'、'\u0067'、'\u0068'、'\u0069'、'\u006A'、'\u006B'、'\u006C', “\u006D”、“\u006E”、“\u006F”, '\u0070'、'\u0071'、'\u0072'、'\u0073'、'\u0074'、'\u0075'、'\u0076'、'\u0077'、'\u0078'、'\u0079'、'\u007A'、'\u007B'、'\u007C', “\u007D”、“\u007E”、“\u007F”, “\u010C”、“\u00FC”、“\u00E9”、“\u010F”、“\u00E4”、“\u010E”、“\u0164”、“\u010D”、“\u011B”、“\u011A”、“\u0139”、“\u00CD”、“\u013E”, '\u013A'、'\u00C4'、'\u00C1', '\u00C9'、'\u017E'、'\u017D'、'\u00F4'、'\u00F6'、'\u00D3'、'\u016F'、'\u00DA'、'\u00FD'、'\u00D6'、'\u00DC'、'\u0160'、'\u013D', “\u00DD”、“\u0158”、“\u0165”, '\u00E1'、'\u00ED'、'\u00F3'、'\u00FA'、'\u0148'、'\u0147'、'\u016E'、'\u00D4'、'\u0161'、'\u0159'、'\u0155'、'\u0154'、'\u00BC', “\u00A1”、“\u00AB”、“\u00BB”, “\u2591'、”\u2592'、“\u2593'、“\u2502'、”\u2524'、“\u2561'、“\u2562'、”\u2556'、“\u2555'、“\u2563'、”\u2551'、“\u2557'、“\u255D”, '\u255C'、'\u255B'、'\u2510', “\u2514'、”\u2534'、“\u252C'、“\u251C'、”\u2500'、“\u253C'、“\u255E'、”\u255F'、“\u255A'、“\u2554'、”\u2569'、“\u2566'、“\u2560”, “\u2550”、“\u256C”、“\u2567”, “\u2568'、”\u2564'、“\u2565'、“\u2559'、”\u2558'、“\u2552'、“\u2553'、”\u256B'、“\u256A'、“\u2518'、”\u250C'、“\u2588'、“\u2584”, “\u258C”、“\u2590”、“\u2580”, '\u03B1'、'\u00DF'、'\u0393'、'\u03C0'、'\u03A3'、'\u03C3'、'\u00B5'、'\u03C4'、'\u03A6'、'\u0398'、'\u03A9'、'\u03B4'、'\U21E', '\u03C6'、'\u03B5'、'\u2229', “\u2261'、”\u00B1'、“\u2265'、“\u2264'、”\u2320'、“\u2321'、“\u00F7'、”\u2248'、“\u00B0'、“\u2219'、”\u00B7'、“\u221A'、“\u207F”, '\u00B2'、'\u25A0'、'\u00A0'}; 返回图; }

第二步-从DBF读取字节并编码字符:

byte[]bytes=column.getBytes();
对于(int x=0;x
                  byte[] bytes = column.getBytes();

                  for (int x = 0; x < bytes.length; x++) {
                      int index = (0xff) & bytes[x];
                      char c = getKamenickyCharTable()[index];
                  }