goo*_*ate 2 c# registry binary
我正在使用C#将以下二进制值写入系统注册表:
byte[] valueToSet = { 84, 01, 00, 00 };
Registry.SetValue(keyName, "00036601", valueToSet);
// returns void as expected.
Run Code Online (Sandbox Code Playgroud)
当我使用regedit查看写入值时,我看到显示的值为54 01 00 00.这是不正确的
相反,当我在注册表中手动将值设置为84,01,00,00时,运行此代码
object ttt = Registry.GetValue(keyName, "00036601", null);
// returns 132, 1, 0, 0
Run Code Online (Sandbox Code Playgroud)
这是Endian问题吗?解决这个问题的正确方法是什么?
tin*_*man 10
这是一个十六进制问题.RegEdit以十六进制显示值,您在C#中使用decimal.
这两个值是等价的:
0x54 == 84
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
342 次 |
| 最近记录: |