2

Пытаясь исправить странное сообщение об ошибке из пакета программного обеспечения, я копался в реестре и заметил, что некоторые значения выглядят «сумасшедшими».

Например:

HKEY_CLASSES_ROOT\Installer\Components\71CE92CC2CB71D119A12000A9CE1A22A

содержит:

signer.dll  REG_MULTI_SZ  
OC~jzh?Vl@K]-%4u9Xx!Intel_VBA_English>ZqT]jI{jf(=1&L[-81-]

Довольно много других записей имеют этот стиль тарабарщины. Для меня это больше похоже на то, что что-то пошло не так, чем реальное значение данных. Может ли это быть признаком того, что реестр как-то поврежден?

3 ответа3

3

Это все выглядит достаточно разумно. В конце концов, реестр предназначен для чтения машиночитаемых данных.

0

Это не о чем беспокоиться. Фактически, «нормальные» значения, которые вы видите, являются двоичными или шестнадцатеричными значениями, преобразованными в то, что мы можем легко прочитать.

0

Ключ будет хранить двоичные или шестнадцатеричные данные, которые не обязательно напрямую преобразуются в читаемые символы; поэтому, когда вы попытаетесь просмотреть его как текст, программа приложит все усилия, чтобы преобразовать его в строку, используя набор символов по умолчанию для машины (1 символ обычно составляет 1 байт), что приведет к бреду, так как данные не были введены в форма персонажа.

Двоичные и байтовые данные могут представлять любое количество вещей в зависимости от того, как вы решили их интерпретировать; например, если вы возьмете случайное 32-разрядное целое число, скажем, 1 342 749 в двоичном виде, это будет 00000000 00010100 01111101 00011101, что в качестве шестнадцатеричного теперь будет 0x00147D1D, если мы попытаемся прочитать это как символы, используя набор символов Ascii, мы получим ??}? (точнее, NUL - DC4 -} - GS); который кажется полным бредом.

Низкоуровневые данные, особенно когда они хранятся на уровне битов и байтов, не имеют никаких гарантий, что их можно просматривать в виде символов, но это не делает данные бесполезными - каким-либо образом - довольно часто это наиболее эффективно / безопасно / и т.д. Для программ для непосредственного сохранения данных в битовых / байтовых форматах; в частности, например, методы сжатия.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .