0

我正在尝试将 UTF-8 文件转换为 EBCDIC IBM284,但 java 将 0A (\n) 转换为 0x15,而不是我们主机使用的标准 0x25。在网上搜索后,我发现您可以将选项 ibm.swaplf 设置为 true 以更改此行为,但 jvm 似乎忽略了它。

System.setProperty("ibm.swaplf", "true");

在 transformig 之后,我得到了这个输出:

INFO  TestParser     : UTF8: €~Ñ}ÇçLF
CRLF

INFO  HexaStrings    : ******** HEX ************************************************
INFO  HexaStrings    : €   Ñ }Ç ç LF CRLF  
INFO  HexaStrings    : e8a7c97c8ca440454400
INFO  HexaStrings    : 22ce31d3737c6a32c6da
INFO  HexaStrings    : ******** FIN HEX ********************************************

INFO  TestParser     : EBCDIC 284: ?½{ÐhHÓÆÃÙÓÆ
INFO  HexaStrings    : ******** HEX ************************************************
INFO  HexaStrings    : ?½ {Ð hHÓ Æ Ã Ù Ó Æ  
INFO  HexaStrings    : 3cb7c964c9c81c8c9c9c801
INFO  HexaStrings    : f2db30883336533393336d5
INFO  HexaStrings    : ******** FIN HEX ********************************************

我期待 0A 转换为 25 而不是 15。有什么想法吗?

解决方案:使用 IBM1145 代替 IBM284 解决了这个问题。

4

0 回答 0