0

現在、サードパーティのアプリケーションによって挿入されたデータベース (Oracle 11) から情報を読み取る C# サービスがあります。

サードパーティ アプリケーションは XML からコードを生成し、情報を Unicode で保存しています。

C# アプリケーションは、次のメソッドを使用してテキストを読み取ります。

public static String GetUnicodeString(Byte[] bytes)
{
    return UnicodeEncoding.Unicode.GetString(bytes, 0, bytes.Length);
}

データベース内のテキストには、各文字の間に 16 進数の 00 があります。例:

文字列を考慮する: Test

UNICODE 以外の 16 進値: 54 65 73 74

DB の UNICODE Hex 値: 54 00 65 00 73 00 74 00

文字列全体をループして 16 進数の 00 を追加すると問題なく動作しますが、最も効率的な方法とは言えず、見栄えも悪くなります。

文字列をサードパーティ アプリによって現在生成されている形式 (文字間に 16 進数の 00 を含む) に変換するにはどうすればよいですか?

以下は、データベース (blob 列) で文字列がどのようにレンダリングされるかの例です。 ここに画像の説明を入力

4

0 に答える 0