JDK1.5 игнорирует опцию jvm ibm.swaplf
Я пытаюсь преобразовать файл UTF-8 в EBCDIC IBM284, но java преобразует 0A (\n) в 0x15 вместо 0x25, который является стандартом, используемым нашим хостом. После поиска в Интернете я обнаружил, что вы можете установить для параметра ibm.swaplf значение true, чтобы изменить это поведение, но jvm видит его игнорирующим.
System.setProperty("ibm.swaplf", "true");
После преобразования я получил этот вывод:
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 решило эту проблему.