2011-01-13 19 views
0

検索したレジストリ値をobjectからbyte[]に変換しようとしています。それはREG_BINARYとして格納されます。私はBinaryFormatterMemoryStreamを使ってみました。しかし、それは私が望まないオーバーヘッド情報を追加します。私はこのとき、関数Convert.ToBase64String(..)を実行してバイト配列を文字列に変換したときにこれを観察しました。私はレジストリに暗号化されたキーの格納と検索をテストしているので、これらの機能を実行しています。オブジェクトをバイトに変換する

答えて

7

それはすでには、あなたがそれを取得し、バイト配列...あなたはそれがbyte[]にキャストすることはできませんすべきですか?お持ちでない場合は

はまた、は、それがコードでREG_BINARYです、あなたが使用することを検証:

byte[] binaryData = value as byte[]; 
if (binaryData == null) 
{ 
    // Handle case where value wasn't found, or wasn't binary data 
} 
else 
{ 
    // Use binaryData here 
} 
+0

はい、これが答えです。私はしばらくのうちにC#を使用していないので、明らかに私は錆びています。明らかな答えを投稿していただきありがとうございます:) –

0

Convert.ToBase64Stringを使用して変換した場合は、同様にそれを取得する必要があります。それはREG_BINARYが、その後なら

string regValueAsString = (string)regValueAsObj; 
byte[] buf = Convert.FromBase64String(regValueAsString); 
5

これを試してみてください。既にREG_BINARYの場合は、キャストするだけです。

関連する問題