C # - Декодирование данных из AS / 400 iSeries - PullRequest
0 голосов
/ 06 апреля 2009

Я использую стандартное .NET OdbcConnection для подключения к базе данных AS / 400 iSeries. Я могу запросить эту базу данных. К сожалению, некоторые поля выглядят закодированными. Как мне декодировать эти значения в C #? Я пробовал следующее:

string text = string.Empty;
if (bytes.Length > 0)
{
    ASCIIEncoding encoder = new ASCIIEncoding();
    text = encoder.GetString(bytes);
}
return text;

Переменная байтов представляет данные, которые должны быть декодированы. К сожалению, мне не повезло. Мне сказали, что данные вернутся правильно, если я настрою источник данных ODBC на своем компьютере с Windows и поставлю флажок «Преобразовать двоичные данные (CCSID65535) в текст» на вкладке перевода. Тем не менее, я хочу использовать чистый C #. Есть идеи? Я далеко?

Спасибо!

1 Ответ

7 голосов
/ 06 апреля 2009

Скорее всего, он использует EBCDIC. Вы можете попробовать использовать Encoding.GetEncoding (37) или использовать кодировку EBCDIC , о которой я писал недавно.

...