webForumDet fria alternativet

Komprimeringsprogram

7 svar · 279 visningar · startad av trexter

trexterMedlem sedan mars 20021 424 inlägg
#1

Jag har läst att komprimering går ut på att man hittar
mönster som man kan återanvända för att på så sätt få ner
storleken på datakällan. Detta fungerar ju enkelt med
en textfil:

ab
ab
ab

Här kan man komprimera genom att spara "ab" och repetera
det tre gånger (även om det just i detta fallet kanske är
lättare att bara ha det som det är, det rör sig ju om en så
liten mängd data).

Hur gör komprimeringsprogramet då med en exe.-fil? Det
måste ju vara bland ettorna och nollorna som den hittar
mönster då, eller? Varför kan jag som användare då inte se
källkoden i en exe-fil när datorprogramet kan det?

Och om jag kan, hur gör man det?

:)

KlösMedlem sedan dec. 19991 633 inlägg
#2

En exe-fil kan man ju se som en helt vanlig fil som innehåller en massa tecken som är instruktioner som säger vad programmet kan göra. Alltså är det lika enkelt för komprimeringsalgoritmen att söka efter vanligt förekommande sekvenser i exe.filen och skriva detta på ett kortare sätt.
Källkoden är ju bara ett sätt för oss människor att på ett enkelt sätt tala om för kompilatorn hur vi vill att programmet skall fungera. (Kompilatorn översätter källkoden till något körbart som exe-, dll-, com-fil)
För att se källkoden i en exe-fil måste du dekompilera den och då måste man vara väldigt väl insatt i programmeringsspråket som den är skriven i för att öht få ut något vettigt av det. Eftersom de namn på variabler som programmeraren använt för att enkelt förstå vad han/hon gjort kommer troligtvis bara reffereras som variabel1, variabel2 osv...

trexterMedlem sedan mars 20021 424 inlägg
#3

En exe-fil är väl bara ettor och nollor?
Varför skulle det vara lika enkelt för kompileringsalgoritmen att leta efter sekvenser i en exe-fil som i en txt-fil när den först måste dekompilera den?

:q

UlfTMedlem sedan maj 20016 050 inlägg
#4

trexter skrev:

En exe-fil är väl bara ettor och nollor?

Även en textfil är faktiskt bara ettor och nollor, om du ser det på det viset. ;)

trexterMedlem sedan mars 20021 424 inlägg
#5

UlfT skrev:

trexter skrev:

En exe-fil är väl bara ettor och nollor?

Även en textfil är faktiskt bara ettor och nollor, om du ser det på det viset. ;)

Jo, förvisso. Men textfilen är ju bara att läsa rakt av. Det måste ju vara enklare än att dekompilera en exe-fil.

:)

UlfTMedlem sedan maj 20016 050 inlägg
#6

Du kan läsa även binärfiler rakt av. Du kommer förvisso inte förstå vad som står där, men du kan i alla fall hitta sekvenser som upprepas. Därmed går det att komprimera.

trexterMedlem sedan mars 20021 424 inlägg
#7

Oki, förstår att jag tänkte lite fel fr¨ån början...
Tack så mycket!

:)

mappoMedlem sedan apr. 2001487 inlägg
#8

Jag tror det du vill ha är Huffman-kodning eller Shannon-Fano.
De kollar igenom de okomprimerade data och ansätter
den mest förekommande informationen med korta koder
och sällsynta med längre koder.

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb