... зашифрованный файл cobol с comp-3 и другими данными ... не в удобочитаемом формате
Не смешивайте два.Зашифрованный файл может быть фактически читаемым человеком (просто не содержащим разумных вещей), когда шифрование происходит путем обмена словами.Не в удобочитаемом формате не имеет ничего общего с шифрованием (и я не понимаю, почему это помечено как весна).
Вернуться к первоначальному вопросу:
КакМогу ли я правильно декодировать весь файл, принимая во внимание как данные comp-3, так и обычные данные?
Вы разбили массив байтов на диапазоны "normal" (в вашем случае, я думаю, вы имеете в виду распакованный, оченьвероятно в однобайтовой кодировке) и «закодированных» (упакованных) данных.
Затем преобразуйте распакованные данные либо в String (фактически UTF-16), либо в числовой тип и упакованные данные (не проверено)если ваша распаковка comp-3 правильная, но выглядит нормально, по крайней мере, не совсем неправильно [иначе, 13
может быть не единственным возможным маркером отрицательного знака, но это зависит от системы генерирования данных]) для числовых типов.
COBOL основан на записях, в основном с фиксированной длиной, поэтому ключом к «декодированию файла» является разбиение файла на записи и поля ( получить исходное определение записи COBOLна ).В большинстве случаев вы создали бы pojo с теми же атрибутами, что и в определении COBOL, и получили бы фрагмент кода, разбивающий байтовый массив на записи и поля по позициям, преобразовав части по мере необходимости и вызвав ваши сеттеры с результатом.удобочитаемый для человека: простой подход может заключаться в создании метода toString ...