Portál AbcLinuxu, 16. července 2025 21:13


Dotaz: Konverze souboru ASCII to Binary

23.6.2008 16:26 Honza
Konverze souboru ASCII to Binary
Přečteno: 506×
Odpovědět | Admin
Ahoj,

nastala situace kdy zaloha ve formatu tgz(tar + gz) byla prehrana na jiny FTP server v modu ASCII. Tento soubor pak nasledne nelze otevrit/rozbalit. Po debugu jsem zjistil, ze chyba je prave v FTP modu = ASCII. Problem je v tom, ze mam zalohu uz jen pouze tu spatnou v ASCII. Lze dodatecne prekonvertovat zpet ASCII do Binary? Zkousel jsem jiz "unix2dos", "fixgz" ale neuspesne.

Muze nekdo poradit?

Diky
Honza
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.6.2008 16:47 tyctor | skóre: 13
Rozbalit Rozbalit vše Re: Konverze souboru ASCII to Binary
Odpovědět | | Sbalit | Link | Blokovat | Admin
a co to skusit znovu prehrat na FTP server v mode BIN?
23.6.2008 17:08 Honza
Rozbalit Rozbalit vše Re: Konverze souboru ASCII to Binary
No bohuzel ta puvodni zaloha, neposkozena uz neexistuje. Mam pouze tu zmrsenou ASCII.
23.6.2008 17:24 kaaja | skóre: 24 | blog: Sem tam něco | Podbořany, Praha
Rozbalit Rozbalit vše Re: Konverze souboru ASCII to Binary
Odpovědět | | Sbalit | Link | Blokovat | Admin
To z principu přenosu ascii a bin nejde. Protože při ASCII se z každého bajtu přenese jenom 7 bitů místo 8 jako v BIN. Takže chybí osmina informace.
24.6.2008 13:33 Honza
Rozbalit Rozbalit vše Re: Konverze souboru ASCII to Binary
Tohle teda bude asi neresitelna situace, coz u Linuxu moc casto nenastava(samozrejme to neni chyba linuxu). Jinak diky za odpoved.
23.6.2008 17:27 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Konverze souboru ASCII to Binary
Odpovědět | | Sbalit | Link | Blokovat | Admin
ASCII znamená, že se nahradily konce řádků CR+LF za CR nebo opačně. Pokud by se změnilo i kódování, byl by to asi dost problém. Řešení je nahradit to zpět – jenomže se budete muset nějak vypořádat s tím, že při náhradě CR+LF za CR mohly být v původním souboru už samotné znaky CR, takže u CR v novém souboru nepoznáte, zda je to výsledek transformace nebo tam ten znak byl i původně. Takže mne napadá jedině zkusit si vypsat počty těch znaků, pokud jich nebude moc, můžete si vytvořit všechny kombinace. Při opačné náhradě to máte asi jednoduší, tam by mělo stačit nahradit všechny CR+LF za CR.
24.6.2008 14:01 Honza
Rozbalit Rozbalit vše Re: Konverze souboru ASCII to Binary
Dekuji za odpoved. Presne tak, je to velky problem dohledat zdali znak CR je samostatny nebo zda patri do kombinace. Nicmene kombinace nemohu vytvorit protoze cela zaloha ma cca 0,8GB a tech kombinaci je az prilis. Ale diky
24.6.2008 17:30 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Konverze souboru ASCII to Binary
Pak můžete ještě zkusit, zda gzip nemá nějaký samoopravný mechanizmus, že byste ta CR nahrazoval od začátku, a sledoval byste, zda přes to gunzip projde. Ale to by stejně jednak bylo spousta práce, jednak pochybuju o tom, že by tam byl tak silný samoopravný kód, protože ten by zase velikost souboru prodlužoval. Pokud by samoopravný kód nefungoval a gunzip rozbalil jak variantu s CR tak CR+LF, musel byste kontrolovat rozbalený obsah. Pokud by to šlo nějak automaticky, dalo by se to celé asi nějak naskriptovat – záleží na tom, jak moc vám ta data chybí.
24.6.2008 21:38 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Konverze souboru ASCII to Binary
Myslím, že gzip bohužel nemá samoopravné chyby. Ale cesta by byla, pokud by byly pro každý blok komprimovaných dat dostupný záznam CRC, pak by šlo všechny CR+LF měnit v daném bloku a testovat při jaké kombinaci je blok v pořádku. I když podle dokumentace to moc nevypadá :-( .

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.