0

標準の .NET OdbcConnection を使用して、AS/400 iSeries データベースに接続しています。このデータベースにクエリを実行できます。残念ながら、エンコードされているように見えるフィールドがいくつかあります。これらの値を C# でデコードするにはどうすればよいですか? 私は次のことを試しました:

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

bytes 変数は、デコードする必要があるデータを表します。残念ながら、私には運がありません。Windows マシンで ODBC データ ソースをセットアップし、[変換] タブの [バイナリ データ (CCSID65535) をテキストに変換する] チェックボックスをオンにすると、データが正しく返されると言われました。ただし、純粋な C# を使用したいです。何か案は?私は道を外れていますか?

ありがとう!

4

1 に答える 1

7

EBCDIC を使用している可能性があります。Encoding.GetEncoding(37) を使用するか、少し前に書いたEBCDIC エンコーディングを使用できます。

于 2009-04-06T14:14:03.413 に答える