Codificação incorreta no editor do Registro do Windows

4

No editor de registro do Windows, notei algo estranho. O caminho para o executável do Inkscape está escrito em japonês, como você pode ver nesta imagem:

MasessenãoéocasodoGoogleChromeoudoFilezillaparaosquaisosdadossãoexibidosnormalmente:

QuandoclicocomobotãodireitoemumdosvaloresdoInkscapequeestáescritoemjaponêseclicoemAlterardadosbinários,éissoquerecebo:

Portanto, os dados no valor do registro estão corretos, é apenas que o editor do registro usa a codificação incorreta para mostrar o que o valor contém. O que é estranho é que só faz isso para valores em uma chave, não nos outros. E quando eu movo os mesmos dados de uma chave para outra copiando / colando o código binário, a codificação permanece a mesma para cada código (por exemplo, se eu copiar o código binário para o Inkscape e colá-lo na chave Filezilla, ele se torna escrito em japonês na chave Filezilla também).

Por que o editor de registro não usa a codificação correta?

    
por Donald Duck 07.08.2016 / 15:50

1 resposta

2

Todas as strings no Windows (assim como no Windows registro ) estão supostamente em Unicode (simplificação: cada caractere = dois bytes ); Posso reproduzir seu problema manualmente (valor de registro TestValueCP1250 ), embora não possa imaginar como fazer isso programaticamente:

==> reg query "HKEY_CURRENT_USER\Software\Test Key" /V TestValueCP1250

HKEY_CURRENT_USER\Software\Test Key
    TestValueCP1250    REG_SZ    㩃停潲牧浡䘠汩獥䍜浯潭楆敬s

Cf.osmesmosdadosemUnicode(outrovalorderegistroTestValueUnicode)

==>regquery"HKEY_CURRENT_USER\Software\Test Key" /V TestValueUnicode

HKEY_CURRENT_USER\Software\Test Key
    TestValueUnicode    REG_SZ    C:\Program Files\Common Files

    
por 11.08.2016 / 12:58