Você marcou esta referência: Transforme seus problemas de conversão de dados
Uma pergunta obscura, mas é do tipo que eu sei que os usuários da SU podem ajudar.
Eu tenho um arquivo de um iSeries codificado como CCSID 65535 (binário) que basicamente significa que ele é codificado em hexadecimal (em EBCDIC). Eu gostaria de entender como esse formato funciona, já que parece arbitrariamente entrar e sair da codificação hexadecimal. Por exemplo:
4040404040404040404040F3F040404040404040404040F1 0 04040404040404040404040F8F0F0F3F54040404040F3F4F0404040F3F0F3F8F1F1F7F1F0F8404040404040404040404040404040404040 2009E2D5F9F6F0F0F0F0F0F7 0 04040404040404040404040404040404040404040
Os 40 são espaços EBCDIC, isso eu sei, mas você verá que também existem espaços literais no texto. As transições acontecem em limites ímpares e pares de bytes e olhando que a primeira seção com espaços literais "F1 0 040" você verá um hex codificado '1' ("F1"), vários espaços literais, um literal '0', alguns mais espaços, um literal '0' novamente e, em seguida, um espaço codificado hexadecimal. Arrancando meu cabelo aqui, parece não haver lógica nisso.
Eu suspeito que o 'conhecimento' para o formato possa ser mantido no iSeries em uma definição separada, mas não consigo encontrar nenhuma documentação definitiva na web, então espero que um guru aqui saiba como isso tudo se encaixa juntos. Qualquer orientação recebida com gratidão!
Você marcou esta referência: Transforme seus problemas de conversão de dados
A resposta foi que é a Definição de Campo do Arquivo que é a parte crítica. Não há como decodificar o arquivo sem essa informação. Também não parece haver nenhuma biblioteca .Net para isso que eu possa encontrar facilmente. Eu acho que a dificuldade é que você precisa:
Muito a fazer para algo que parece um requisito obscuro.