Я пытаюсь преобразовать восстановленное значение реестра с object
в byte[]
. Он хранится как REG_BINARY
. Я пробовал использовать BinaryFormatter
с MemoryStream
. Однако он добавляет служебную информацию, которую я не хочу. Я заметил это, когда я преобразовал массив байтов в строку, выполнив функцию Convert.ToBase64String(..)
. Я выполняю эти функции, потому что проверяю хранение и извлечение зашифрованного ключа в реестре.Преобразование объекта в байт []
0
A
ответ
7
Если это REG_BINARY то он уже должен быть байтовый массив при извлечении его ... вы не можете просто бросить его 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
Если вы конвертировали его с помощью Convert.ToBase64String, вы также сможете получить его.
string regValueAsString = (string)regValueAsObj;
byte[] buf = Convert.FromBase64String(regValueAsString);
5
Попробуйте это. Если это уже REG_BINARY, все, что вам нужно сделать, это отличить его:
static byte[] GetFoo()
{
var obj = Microsoft.Win32.Registry.GetValue("HKEY_LOCAL_MACHINE\\Software", "foo", null);
//TODO: Write a better exception for when it isn't found
if (obj == null) throw new Exception();
var bytearray = obj as byte[];
//TODO: Write a better exception for when its found but not a REG_BINARY
if (bytearray == null) throw new Exception();
return bytearray;
}
Смежные вопросы
- 1. Преобразование объекта в байт
- 2. преобразование объекта в байт []
- 3. Преобразование любого объекта в байт []
- 4. Преобразование объекта в байт [] на Java-карте
- 5. Преобразование байт-байт Java Выпуск
- 6. Преобразование ресурса в байт []
- 7. Преобразование Java байт в
- 8. Преобразование char в байт
- 9. преобразование DataHandler в байт []
- 10. Преобразование sbyte в байт
- 11. Преобразование байт в Linq
- 12. Преобразование байт [] в float []
- 13. Преобразование BOOL в байт
- 14. Преобразование байт [] в UInt16.
- 15. Преобразование строки в байт
- 16. преобразование байта [] в байт
- 17. Преобразование изображения в байт []
- 18. Преобразование MyObject в байт
- 19. Преобразование памяти в байт
- 20. Преобразование сборки в байт []
- 21. Преобразование int в байт
- 22. Преобразование битмапа в байт []
- 23. Преобразование «FFFF» в байт
- 24. Преобразование байт [] в HttpResponse
- 25. Преобразование байт [] в JsonObject
- 26. Преобразование строк в байт
- 27. Преобразование байт в C#
- 28. Преобразование точного объекта в байт, аналогичное memcpy в C#
- 29. Преобразование из объекта в байт [] при добавлении в список
- 30. Преобразование C# void * в байт []
Хорошо, да, это ответ. Я не использовал C# через некоторое время, поэтому, очевидно, я ржавый. Спасибо за сообщение очевидного ответа :) –