Crate file_format[][src]

Expand description

file-format

Build Crates.io Docs Rust License

File format library for Rust.

This crate is for recognizing binary-based file formats.

Examples

Determines from a file:

use file_format::FileFormat;

let format = FileFormat::from_file("fixtures/image/sample.jpg").unwrap();
assert_eq!(format.media_type(), "image/jpeg");
assert_eq!(format.extension(), "jpg");

Determines from bytes:

use file_format::FileFormat;

let format = FileFormat::from_bytes(&[0x66, 0x4C, 0x61, 0x43]);
assert_eq!(format.media_type(), "audio/x-flac");
assert_eq!(format.extension(), "flac");

Supported file formats

NameMedia typeExtension
Digital Imaging and Communications in Medicineapplication/dicomdcm
Electronic Publicationapplication/epub+zipepub
gzipapplication/gzipgz
Java Archiveapplication/java-archivejar
Web Application Archiveapplication/java-archivewar
Java Classapplication/java-vmclass
Material Exchange Formatapplication/mxfmxf
Arbitrary Binary Dataapplication/octet-streambin
Ogg Multiplexed Mediaapplication/oggogx
Portable Document Formatapplication/pdfpdf
Dalvik Executableapplication/vnd.android.dexdex
Debian Packageapplication/vnd.debian.binary-packagedeb
Cabinetapplication/vnd.ms-cab-compressedcab
Embedded OpenTypeapplication/vnd.ms-fontobjecteot
Microsoft Compiled HTML Helpapplication/vnd.ms-htmlhelpchm
Microsoft Visio 2013+application/vnd.ms-visio.drawing.main+xmlvsdx
OpenDocument Graphicsapplication/vnd.oasis.opendocument.graphicsodg
OpenDocument Presentationapplication/vnd.oasis.opendocument.presentationodp
OpenDocument SpreadSheetapplication/vnd.oasis.opendocument.spreadsheetods
OpenDocument Textapplication/vnd.oasis.opendocument.textodt
Microsoft PowerPoint 2007+application/vnd.openxmlformats-officedocument.presentationml.presentationpptx
Microsoft Excel 2007+application/vnd.openxmlformats-officedocument.spreadsheetml.sheetxlsx
Microsoft Word 2007+application/vnd.openxmlformats-officedocument.wordprocessingml.documentdocx
Roshal Archiveapplication/vnd.rarrar
SketchUp Documentapplication/vnd.sketchup.skpskp
SQLite 3 Databaseapplication/vnd.sqlite3sqlite
libpcapapplication/vnd.tcpdump.pcappcap
WebAssembly Binaryapplication/wasmwasm
7zapplication/x-7z-compressed7z
ALZipapplication/x-alz-compressedalz
Apache Arrow Columnarapplication/x-apache-arrowarrow
macOS Aliasapplication/x-apple-aliasalias
Apple Disk Imageapplication/x-apple-diskimagedmg
UNIX archiverapplication/x-archivear
Archived by Robert Jungapplication/x-arjarj
Blender 3D Dataapplication/x-blenderblend
bzip2application/x-bzip2bz2
Compound File Binaryapplication/x-cfbcfb
UNIX compressapplication/x-compressZ
cpioapplication/x-cpiocpio
Shapefileapplication/x-esri-shapeshp
Executable and Linkable Formatapplication/x-executableelf
Game Boy Color ROMapplication/x-gameboy-color-romgbc
Game Boy ROMapplication/x-gameboy-romgb
Game Boy Advance ROMapplication/x-gba-romgba
Google Chrome Extensionapplication/x-google-chrome-extensioncrx
Adobe InDesign Documentapplication/x-indesignindd
ISO 9660 imageapplication/x-iso9660-imageiso
Long Range ZIPapplication/x-lrziplrz
LZ4application/x-lz4lz4
Lempel–Ziv Finite State Entropyapplication/x-lzfselzfse
LHAapplication/x-lzh-compressedlzh
lzipapplication/x-lziplz
lzopapplication/x-lzoplzo
Mobipocketapplication/x-mobipocket-ebookmobi
Windows Shortcutapplication/x-ms-shortcutlnk
Windows Executableapplication/x-msdownloadexe
Nintendo 64 ROMapplication/x-n64-romz64
ANIapplication/x-navi-animationani
Nintendo DS ROMapplication/x-nintendo-ds-romnds
Nintendo Entertainment System ROMapplication/x-nintendo-nes-romnes
PCAP Next Generation Dumpapplication/x-pcapngpcapng
Red Hat Package Manager Packageapplication/x-rpmrpm
SeqBoxapplication/x-sbxsbx
Small Web Formatapplication/x-shockwave-flashswf
XAPapplication/x-silverlight-appxap
Snappyapplication/x-snappy-framedsz
Tape Archiveapplication/x-tartar
Microsoft Virtual Hard Diskapplication/x-vhdvhd
Microsoft Virtual Hard Disk 2application/x-vhdxvhdx
VirtualBox Virtual Disk Imageapplication/x-virtualbox-vdivdi
Extensible Archiveapplication/x-xarxar
XPInstallapplication/x-xpinstallxpi
XZapplication/x-xzxz
zooapplication/x-zoozoo
ZIPapplication/zipzip
Zstandardapplication/zstdzst
Advanced Audio Codingaudio/aacaac
Audio Interchange File Formataudio/aiffaif
Adaptive Multi-Rateaudio/amramr
Auaudio/basicau
Musical Instrument Digital Interfaceaudio/midimid
Adobe Flash Player Audioaudio/mp4f4a
Adobe Flash Player Audiobookaudio/mp4f4b
Apple iTunes ALAC/AAC-LC Audiobookaudio/mp4m4b
Apple iTunes ALAC/AAC-LC Protected Audioaudio/mp4m4p
MPEG-1/2 Audio Layer IIIaudio/mpegmp3
Ogg FLACaudio/oggoga
Ogg Vorbisaudio/oggogg
Ogg Speexaudio/oggspx
Ogg Opusaudio/opusopus
Qualcomm PureVoiceaudio/qcelpqcp
Audio Codec 3audio/vnd.dolby.dd-rawac3
Waveform Audioaudio/vnd.wavewav
WavPackaudio/wavpackwv
Monkey’s Audioaudio/x-apeape
Sony DSD Stream Fileaudio/x-dsfdsf
Free Lossless Audio Codecaudio/x-flacflac
Impulse Tracker Moduleaudio/x-itit
Apple iTunes ALAC/AAC-LC Audioaudio/x-m4am4a
Musepackaudio/x-musepackmpc
ScreamTracker 3 Moduleaudio/x-s3ms3m
FastTracker 2 Moduleaudio/x-xmxm
OpenTypefont/otfotf
TrueTypefont/ttfttf
Web Open Font Formatfont/woffwoff
Web Open Font Format 2font/woff2woff2
Animated Portable Network Graphicsimage/apngapng
AV1 Image File Formatimage/avifavif
Windows Bitmapimage/bmpbmp
Better Portable Graphicsimage/bpgbpg
Cineon Imageimage/cineoncin
Flexible Image Transport Systemimage/fitsfits
Free Lossless Image Formatimage/flifflif
Graphics Interchange Formatimage/gifgif
High Efficiency Image Codingimage/heicheic
High Efficiency Image Coding Sequenceimage/heic-sequenceheic
High Efficiency Image File Formatimage/heifheic
High Efficiency Image File Format Sequenceimage/heif-sequenceheic
Apple Icon Imageimage/icnsicns
JPEG 2000 Part 1 (JP2)image/jp2jp2
Joint Photographic Experts Groupimage/jpegjpg
JPEG 2000 Part 6 (JPM)image/jpmjpm
JPEG 2000 Part 2 (JPX)image/jpxjpx
JPEG XLimage/jxljxl
JPEG Extended Rangeimage/jxrjxr
Khronos Textureimage/ktxktx
Khronos Texture 2image/ktx2ktx2
JPEG 2000 Part 3 (MJ2)image/mj2mj2
Portable Network Graphicsimage/pngpng
Tag Image File Formatimage/tifftiff
DirectDraw Surfaceimage/vnd-ms.ddsdds
Adobe Photoshop documentimage/vnd.adobe.photoshoppsd
Radiance HDRimage/vnd.radiancehdr
WebPimage/webpwebp
Windows Metafileimage/wmfwmf
Canon Raw 2image/x-canon-cr2cr2
Canon Raw 3image/x-canon-cr3cr3
Digital Picture Exchangeimage/x-dpxdpx
OpenEXRimage/x-exrexr
Fujifilm Rawimage/x-fujifilm-rafraf
CURimage/x-iconcur
ICOimage/x-iconico
Nikon Electronic Fileimage/x-nikon-nefnef
Olympus Raw Formatimage/x-olympus-orforf
Panasonic Rawimage/x-panasonic-rw2rw2
Experimental Computing Facilityimage/x-xcfxcf
3D Manufacturing Formatmodel/3mf3mf
GL Transmission Format Binarymodel/gltf-binaryglb
3rd Generation Partnership Projectvideo/3gpp3gp
3rd Generation Partnership Project 2video/3gpp23g2
Audio Video Interleavevideo/aviavi
MPEG-2 Transport Streamvideo/mp2tm2ts
Adobe Flash Player Protected Videovideo/mp4f4p
Adobe Flash Player Videovideo/mp4f4v
MPEG-4 Part 14video/mp4mp4
MPEG-1 videovideo/mpegmpg
Ogg Mediavideo/oggogm
Ogg Theoravideo/oggogv
QuickTime Movievideo/quicktimemov
WebMvideo/webmwebm
Flash Videovideo/x-flvflv
M4Vvideo/x-m4vm4v
Matroska Multimedia Containervideo/x-matroskamkv
Windows Media Videovideo/x-ms-asfwmv

References

License

This project is licensed under either of Apache License, Version 2.0 or MIT license at your option.

Structs

A file format.