3 votes

Détection du type de fichier correcte

Bonjour, je veux détecter les types de fichiers dans mon application. libmagic est une option pour le faire. Mais je n'ai pas l'intention de comparer les chaînes de caractères, par exemple :

Un fichier mp3 en sortie utilisant libmagic : Fichier audio avec la version ID3 2.3.0, contient : MPEG ADTS, couche III, v1, 128 kbps, 44.1 kHz, JntStereo

Y a-t-il d'autres bibliothèques pour la détection du vrai type de fichier ?

3voto

Serge S. Points 1890

Vous pourriez essayer de mettre en œuvre cela vous-même en utilisant Tableau des signatures de fichiers

Exemple:

Signature Hex        Extension de fichier           Signature ASCII, Description du fichier

49 44 33                        MP3           ID3
                                              Fichier audio MPEG-1 Audio Layer 3 (MP3)

43 44 30 30 31                  ISO           CD001
                                              Image de disque CD ISO-9660
                                              Cette signature est généralement ...

2voto

MSalters Points 74024

Vous supposez incorrectement que l'ensemble des types de fichiers est énumérable. Ce n'est pas du tout comme ça que les fichiers fonctionnent. Votre exemple sur les fichiers .mp3 (audio) mène naturellement à la vidéo. Quelle est la relation entre les vidéos .AVI, .MKV, MPEG1, MPEG2 et MPEG4 ? Vous ne pouvez pas capturer ces relations en un seul nombre.

De même, est-ce qu'un CD .ISO est le même type de fichier qu'un DVD .ISO ? Soit vous leur attribuez le même nombre soit vous ne le faites pas. Et j'ai spécifiquement écrit "vous" dans la phrase précédente parce que la réponse dépend de savoir si vous les considérez comme identiques.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X