バイナリレジストリキーから値を取得するのに問題があります。これまでの私のコードは
string key = "UserPreferencesMask";
string key_place = @"Control Panel\Desktop";
RegistryKey root = Registry.CurrentUser;
root = root.OpenSubKey(key_place);
var byte_value = root.GetValue(key);
byte[] bytearray = byte_value as byte[];
//How can convert byte [] array to 64 bit binary string
klase.Close();
MessageBox.Show(binary_string);
欲しいときに積み重ねる
UserPreferencesMask
64ビットのバイナリ文字列を変換するためのバイナリレジストリキー。このようなものから
9E3E078012000000
16進値から
1001111000111110000001111000000000010010000000000000000000000000
バイナリ値
しかし、16進数から2進数に変換するコードを作成する場合、16進数に最初の1つまたは2つ以上のゼロの数値があると、誤った2進数値になります。バイナリは最初のゼロの数値なしで戻り、カウントは1の最初のバイト値から始まり、16進数が0を除く他の文字で始まった場合でもエラーは発生しません。どうすれば問題を解決できますか?どこでも検索しましたが、16進数から2進数までしか見つかりませんでしたが、これによりエラーが発生し、戻り値が64ビット値の長さではありません。ありがとう !