C # - Decoding dados de um AS / 400 iSeries
-
05-09-2019 - |
Pergunta
Eu estou usando o padrão .NET OdbcConnection se conectar a um banco de dados AS / 400 iSeries. Eu sou capaz de consultar esta base de dados. Infelizmente, existem alguns campos que parecem ser codificado. Como faço para decodificar estes valores em C #? Eu tentei o seguinte:
string text = string.Empty;
if (bytes.Length > 0)
{
ASCIIEncoding encoder = new ASCIIEncoding();
text = encoder.GetString(bytes);
}
return text;
A variável de bytes representa os dados que precisam ser decodificados. Infelizmente, não estou tendo nenhuma sorte. Foi-me dito que os dados retornará corretamente se eu configurar uma fonte de dados ODBC na minha máquina Windows e marque a caixa "Converter dados binários (CCSID65535) para texto" na guia de tradução. No entanto, eu quero usar puro C #. Alguma ideia? Am I longe?
Obrigado!
Solução
As possibilidades são que ele está usando EBCDIC. Você pode tentar usar Encoding.GetEncoding (37) ou você pode usar o EBCDIC codificação Escrevi há um tempo atrás.