Avatar billede prox1 Forsker
14. januar 2019 - 18:23 Der er 4 kommentarer

GIT cmd for qDeCompress

Jeg har en fil der er 'zippet' med qCompress. Jeg har forsøgt at bruge GIT til at 'udzippe' den.
Jeg får en fil, men den er decideret ubrugelig!
Min cmd streng til qDecompress er:

tail -c+5 foo.pz > foo

Er der en GIT ekspert, der kan se hvorfor min cmd giver garbage output?
Avatar billede Slater Ekspert
15. januar 2019 - 08:58 #1
Jeg forstår ikke helt spørgsmålet.

Den kommando gør intet andet end at tage alt fra filen efter de første 5 bytes og skrive det til en ny fil. Der bliver ikke kørt nogen udpakke-kommando, og hvor kommer Git ind i billedet?
Avatar billede prox1 Forsker
15. januar 2019 - 13:16 #2
Ikke andet end end en -5 kopiering!
Hvis du skulle skrive den med udpakker CMD, for eks zlib, hvordan ville den så se ud?
Git kommer ind i billedet fordi det er Git-bash som jeg kører commandoen På.
Nærmere bestemt
version 1.9.4-preview20140611
Og kører på en windowspc
Jeg har en cmd mere, men den troede jeg var for linux...

> >>> import zlib
> >>> zlib.decompress(open('foo.pz', 'rb').read())
//Er det ikke linux-cmd?
//Derefter kommer så:
(bash) tail -c+5 foo.pz > foo
Avatar billede Slater Ekspert
15. januar 2019 - 13:44 #3
Git Bash er ikke Git, det er bare Bash - en linux kommandolinje - med nogle andre værktøjer pakket med. Du bruger ikke Git på nogen måde i det eksempel.

Det andet der ligner Python-kode. Det kan du ikke umiddelbart udføre i Bash, i hvert fald uden at have en shebang til at fortælle Bash hvad den skal med det, og du skal stadig have Python installeret.

I det hele taget er det noget mærkeligt rod, de kommandoer. Hvor har du det fra, og hvad er det du forsøger at opnå?
Avatar billede prox1 Forsker
15. januar 2019 - 15:52 #4
" Hvor har du det fra, og hvad er det du forsøger at opnå? "

Konversationen er fra github, men den er 11 år gammel. Det jeg forsøger er at åbne en beskadiget fil, der er lavet med qCompress, som benytter zLib, og har en 4 bit nible -en header der skal 'barberes af'
Dét er det som bash gør, kan jeg forstå, efter du forklarede hvad der skete

qCompress er defineret som
qCompress:
text compression routine designed for method temp names.
Most common 11 chars get values 1-11 packed in one 4-bit nibble;
the next most common get values 12-15 (2 bits) * 16 plus next nibble;
unusual ones get three nibbles, the first being the escape nibble 0.
CompiledMethod>>endPC determines the maximum length of encoded
output, which means 1 to (251 - 128) * 128 + 127, or 15871 bytes


Mens qDecompress defineres som
qDecompress:
Decompress strings compressed by qCompress:.
Most common 12 chars get values 0-11 packed in one 4-bit nibble;
others get values 12-15 (2 bits) * 16 plus next nibble

Bash cmd danner en fil, af samme størrelse som den oprindelige, men den kan til forskel fra oprindelige åbnes i flashDev, men er compressed
..ser sådan her ud:
xœí]kÛ8–ýÞ¿Bíý0Àbm‘ÔÛíªA6É`ÛÕtj{f0
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester