Springen naar inhoud

Bestandstype achterhalen


  • Log in om te kunnen reageren

#1

Emveedee

    Emveedee


  • >250 berichten
  • 585 berichten
  • VIP

Geplaatst op 02 november 2009 - 18:29

Hallo,

Ik heb een klein probleempje. Ik was bezig om met een renamer wat videobestanden te renamen, maar daarbij heb ik perongeluk de extensies van een paar bestanden verwijderd. Ik kan ze nog steeds wel openen door handmatig VLC te kiezen, maar ik wil ze toch graag weer renamen met de juiste extensie. Het probleem is echter dat ik nergens terug kan vinden wat voor extensie ze nou moeten hebben. Moet ik ze nu allemaal handmatig gaan proberen of is daar een beter manier voor?

Overigens waren er ook nog verschillende bestandstypen (volgens mij .avi en.mkv)
Give a man a fire and he's warm for a day. Set a man on fire and he's warm for the rest of his life.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Schwartz

    Schwartz


  • >250 berichten
  • 691 berichten
  • Verbannen

Geplaatst op 05 november 2009 - 22:52

Ik weet niet of je er wat aan heb:
omdat bepaalde extensies een bepaald kenmerk hebben aan het begin van de data reeks zou men kunnen kijken op internet hoe de codering is...
men kan dan met een data bekijk programma inzien welke extensie ze zouden moeten hebben.
Soms kan men dat herkennen aan de structuur van de data.

En heb je geen backups waarop je kunt kijken?

En soms hebben ze een controle getal aan het begin van de data....
Dat is dan een vast groot getal zodat de inlezer van de data dit kan controleren voordat de codering wordt toegepast.
Dit voorkomt dan dat een verkeerde file met toch de juiste extensie door de codering gaat wat problemen geeft met de techniek.
Geheugen overflow e.d..
En dan is het simpel op te lossen....
Een computertaal is voor mensen, niet voor de computer.

#3

qrnlk

    qrnlk


  • >5k berichten
  • 5079 berichten
  • Lorentziaan

Geplaatst op 06 november 2009 - 09:50

Mijn Mac (en elke andere unix) heeft daarvoor "file"? Bestaat er wellicht zo iets voor de Windows?

Daarnaast, als je het opent in VLC en dan informatie vraagt dan vertelt VLC je wel wat voor container formaat het is. Dat is tenminste wat ik verwacht.

[Ik blijf dat gedoe met file-extensies best wel irritant vinden; Het leid alleen maar tot inconsistente data. Waarom kan de filemanager niet gewoon even naar de inhoud kijken? Dat moet het immers toch doen om een realistische icon te maken...]
Any sufficiently analyzed magic is indistinguishable from science.
Any sufficiently advanced technology is indistinguishable from magic.

There is no theory of protecting content other than keeping secrets Steve Jobs

#4

Schwartz

    Schwartz


  • >250 berichten
  • 691 berichten
  • Verbannen

Geplaatst op 06 november 2009 - 13:49

Het is helaas inderdaad vervelend maar het is een erfenis van het verleden.
Een txt file begint meteen met tekst en heeft geen header.
Dus een filemanager die niet naar een extension kijkt zal gewoon bytes van een tekst tegenkomen.....
Als elke fabrikant in de wereld rond de tafel was geen zitten voordat de computers bestond dan hadden we een systeem gehad, nu is alleen de extensie van de filename een aanduiding hoe de data in de file is opgebouwd.

Mogelijke probleem oplossing:
Je zou een programma kunnen maken om je extensies automatisch terug te kunnen zetten met grote kans dat ze kloppen...
Daarbij moet je weten hoe groot de headers zijn van je mogelijke bestandsformaten.
Een header bestaat meestal uit data met wat 0 en 1 enzo.
En zijn meestal opgebouwd uit (pascal: longint) (4 bytes getallen).
Dus er zijn veel nullen erin.
Men telt dan het aantal 0 van de mogelijke headers.
Stelt dat dit in bytes 20 50 en 80 is.
De nulteller staat bij 0 aan het begin van de file.
Als de nulteller dan bij 80 veel nul omvat dan is het de extensie die bij deze header hoort.
Omdat in deze headers soms controle getallen zitten kan men deze gaan oppikken voor een test...
Als dan zeg wat testen lukken dan zou het deze extensie kunnen zijn.
Als bij 80 het aantal 0 laag is dan hebben we waarschijnlijk een header van 50....
Dan telen we de header van 50 opnieuw...
is de nulteller dan redelijk passend voor deze dan gaan we weer testen...
als het dan niet passend is dan kunnen we voor de lagere header kiezen....
En als deze dan niet passend is kunnen we nog andere testen verzinnen en terugschakelen.
Een computertaal is voor mensen, niet voor de computer.

#5

qrnlk

    qrnlk


  • >5k berichten
  • 5079 berichten
  • Lorentziaan

Geplaatst op 06 november 2009 - 14:54

Dat is dus wat file min of meer doet, het herkent bepaalde patronen van bytes van de verschillende file formaten.

[qrnlk@lab:~/Desktop](87): ls -la
total 424
drwxr-xr-x   5 qrnlk  staff	 170 Nov  6 13:50 .
drwx------+ 14 qrnlk  staff	 476 Nov  6 13:48 ..
-rw-r--r--   1 qrnlk  staff  150727 Nov  6 13:49 Archive
-r-xr-xr-x   1 qrnlk  staff   38784 Nov  6 13:50 executable
-rwxr-xr-x   1 qrnlk  staff   21073 Nov  6 13:49 picture
[qrnlk@lab:~/Desktop](88): file *
Archive:	Zip archive data, at least v2.0 to extract
executable: Mach-O universal binary with 2 architectures
executable (for architecture i386):	Mach-O executable i386
executable (for architecture ppc7400):	Mach-O executable ppc
picture:	JPEG image data, JFIF standard 1.01, comment: "AppleMark"
[qrnlk@lab:~/Desktop](89): file -I *  
Archive:	application/x-zip
executable: application/octet-stream
executable (for architecture i386):	application/octet-stream
executable (for architecture ppc7400):	application/octet-stream
picture:	image/jpeg
Any sufficiently analyzed magic is indistinguishable from science.
Any sufficiently advanced technology is indistinguishable from magic.

There is no theory of protecting content other than keeping secrets Steve Jobs





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures