Я нашел решение, хотя я не уверен, точная причина, по которой это происходит - скорее всего, какая-то внутренняя статическая буферная переменная.Несмотря на то, что ошибка выдает ошибку toString, исправление состояло в том, чтобы изменить размер decoded_msg_length так, чтобы он совпадал с instring.
По какой-то причине мне еще предстоит разобраться, наборы instring.getBytes ("ISO-8859-1")размер некоторого внутреннего буфера, заполненного byteStream.toString ("ISO-8859-1").Если установить значение decoded_msg_length на один байт меньше этой длины, Java выдаст ошибку, даже если нет ничего небезопасного, и я работаю с двумя разными переменными.
Чтобы завершить это, я могу использовать CharsetDecoder ивсе равно не получится.Я объясню это ошибкой ОС JVM.Без этого причудливого исправления код отлично работает в других ОС и JVM.