Nejste přihlášen/a.
Zdravím programátory.
Já sice nejsem programátor, ale potřebuju zeditovat soubor registru .reg pro windows. Data jsou v hexadecimálním tvaru. Příklad:
[HKEY_CLASSES_ROOTCLSID{1ABCFC13-2340-11d2-B601-006097DF5BD4}InProcServer32]
@=hex(2):43,00,3a,00,5c,00,57,00,49,00,4e,00,44,00,4f,00,57,00,53,00,5c,00,73,
00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,73,00,69,00,65,00,
66,00,74,00,70,00,2e,00,64,00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"
Znamená: C:WINDOWSsystem32msieftp.dll
A tak potřebuji najít nějaký editor, který by zvládl tohle zeditovat v tom souboru .reg! Hromadně na D:...
Hm, ve wordu bych to taky neukládal, pouze tam udělal to nahrazení, pak to vykopíroval do notepadu/pspadu a tam uložil.
Wallkysek, to by samozřejmě taky šlo, i pár řádků v perlu/pythonu s jedním regexp, ale proč, když to umí word nebo třeba i obyčejný grep?
Ten H4everův dotaz na znaky jsem nepochopil, ale to kódování používá pro jeden znak dva bajty, takže se C místo 43 uloží jako 4300 little-endian, tedy 0043. Lomítko na konci označuje pokračování textu na dalším řádku, je to jen zalomení pro čitelnost a "vlezení" se na řádek, není to enter ve funkčním smyslu (třeba nového příkazu).
C: chcete hromadně nahradit za D:? Otevřel bych to ve wordu a provedl hromadné nahrazení (snad ctrl+H).
Vezmete nějaký dostatečný řetězec, který se jinde vyskytovat nemůže, třeba "):43,00,3a,00,5c,00" a 43 přepíšete na 44.
Budu se ale potřebovat naučit převádět to hex - ascii ; ascii - hex. abych se na vlastní oči přesvědčil co tam je.
Zkoušel jsem hledat nějaký hex - ascii convertor a našel jsem toto:
Ale nezdá se že by to fungovalo, nebo to neumím používat? Nebo ta hodnota je jiná než jsem čekal?
43:00:3a:00:5c:00:57
vrací:
C?:?W
Co ty otazníky? To je jako vyescapovaný zápis?
?:
? že by otazník excapoval zpěné lomítko?
43:00:3a:00:5c:00:57:00:49:00:4e:00:44:00:4f:00:57:00:53:00:5c:00:73:00:79:00:73:00:74:00:65:00:6d:00:33:00:32:00:5c:00:6d:00:73:00:69:00:65:00:
66:00:74:00:70:00:2e:00:64:00:6c:00:6c:00:00:00
C?:?W?I?N?D?O?W?S?s?y?s?t?e?m?3?2?m?s?i?e?t?p?.?d?l?l?
Kurňa to je nějaký divný zápis. To je jako UTF-8 nebo co?
Takže pokud to chci zapsat jakýkoliv string bez háčků tak to je včky "znak?" jo?
Neměl by k tomu být ještě nějaký převodník na UTF8?
Kódování je asi UTF-16. Základní znaky se zapisují jako ASCII a (hexa) "00", např. C = 43 00.
doplněno 26.12.11 18:13:Těmi základními jsem myslel prvních 127 znaků ASCII (doufám, že i ty zvláštní na začátku tam patří).
Ty si teda zahráváš!
Použil bych nějaký nedestruktivní textový editor (MS word raději ne), přejmenoval *.reg na *.txt a dál postupoval tak, jak psal @dzordz . A pak zas přejmenovat zpět na reg. Ovšem za výsledek se ručit nedá.
Doufám, že máš kopii originálního registru a že se k němu dostaneš i v případě totálního znefunkčnění systému s tímto registrem.
Mno, chápu to dobře, že chcete vzít nějakej registr, otevřít si ho (tzn. že hex se převede na normál ascii) přečíst, případně poupravit a pak uložit (tzn. z ASCII zpět do hexu)? To by se dalo normálně napsat ve visualu nebo C++ pokud se nepletu. To je základní práce se soubory a šifrováním. Jinak nějakej takovej editor bohužel neznám (:
Ne, myslel jsem:
-vyexportovat soubor s registrem (Registry Workshop - hledám konkrétní řetězec)
-zeditovat v programu
-importovat
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.