我正在尝试将UTF-8文件转换为EBCDIC IBM284,但java将0A(\ n)转换为0x15,而不是0x25,这是我们的主机使用的标准。 在搜索Web之后,我发现你可以将选项ibm.swaplf设置为true来改变这种行为,但jvm seens忽略它。
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解决了这个问题。