Enum file_format::FileFormat [−][src]
pub enum FileFormat {
Show 118 variants
Odp,
Ods,
Odg,
Odt,
Vdi,
Epub,
Skp,
Deb,
InDesignDocument,
Sqlite3,
Html,
ICalendar,
Mxf,
Apng,
Jpeg,
JpegXl,
Ktx,
Ktx2,
Matroska,
VCard,
Fits,
OggAudio,
OggVideo,
QuickTime,
Wmv,
GbcRom,
Lzop,
Orf,
Aiff,
Mobi,
Avi,
Avif,
GbRom,
GbaRom,
Heif,
Lnk,
Mp4,
Msi,
N64Rom,
NdsRom,
Png,
Rar,
Tar,
Wave,
WebM,
WebP,
Xcf,
Ar,
Blender,
Jp2,
M4a,
M4v,
ThirdGpp,
ThirdGpp2,
Gif,
SevenZip,
Xml,
Xz,
Amr,
Eot,
Iso,
OpenType,
Pdf,
Rtf,
TrueType,
Ape,
AppleIconImage,
Bpg,
Cab,
ChromeExtension,
Cineon,
Dex,
Dicom,
Dpx,
Elf,
Flac,
Flif,
Flv,
Gltf,
Ico,
JavaClass,
Lrzip,
Lz4,
Lzip,
Midi,
Mpc,
Mpeg,
NesRom,
OpenExr,
Pcap,
Pcapng,
PhotoshopDocument,
Rpm,
Shapefile,
Snd,
Tiff,
WavPack,
WebAssembly,
Wmf,
Woff,
Woff2,
Xar,
Zip,
Zstandard,
Bzip2,
JpegXr,
Mp3,
Swf,
Aac,
Ac3,
AppleDiskImage,
Bmp,
Compress,
Exe,
Gzip,
M2ts,
Text,
Binary,
}
Expand description
Represents a file format.
Variants
OpenDocument Presentation (ODP)
OpenDocument SpreadSheet (ODS)
OpenDocument Graphics (ODG)
OpenDocument Text (ODT)
VirtualBox Virtual Disk Image (VDI)
Electronic Publication (EPUB)
SketchUp Document
Debian package
Adobe InDesign document
SQLite 3 Database
HyperText Markup Language (HTML)
iCalendar
Material Exchange Format (MXF)
Animated Portable Network Graphics (APNG)
Joint Photographic Experts Group (JPEG)
JPEG XL
Khronos TeXture (KTX)
Khronos TeXture 2 (KTX2)
Matroska Multimedia Container
vCard
Flexible Image Transport System (FITS)
Ogg audio
Ogg video
QuickTime Movie
Windows Media Video (WMV)
Game Boy Color ROM
Lzop
Olympus Raw Format (ORF)
Audio Interchange File Format (AIFF)
Mobipocket
Audio Video Interleave (AVI)
AV1 Image File Format (AVIF)
Game Boy ROM
Game Boy Advance ROM
High Efficiency Image File Format (HEIF)
Windows shortcut
MPEG-4 Part 14 (MP4)
Windows Installer
Nintendo 64 ROM
Nintendo DS ROM
Portable Network Graphics (PNG)
Roshal ARchive (RAR)
Tape archive (tar)
Waveform Audio (WAVE)
WebM
WebP
eXperimental Computing Facility (XCF)
Archiver
Blender 3D Data
JPEG 2000
Audio-only MPEG-4
M4V
3rd Generation Partnership Project (3GPP)
3rd Generation Partnership Project 2 (3GPP2)
Graphics Interchange Format (GIF)
7-Zip
Extensible Markup Language (XML)
XZ
Adaptive Multi-Rate (AMR)
Embedded OpenType (EOT)
ISO image
OpenType
Portable Document Format (PDF)
Rich Text Format (RTF)
TrueType
Monkey’s Audio
Apple Icon Image
Better Portable Graphics (BPG)
Cabinet (CAB)
Google Chrome Extension
Cineon Image
Dalvik Executable
Digital Imaging and Communications in Medicine (DICOM)
Digital Picture Exchange (DPX)
Executable and Linkable Format (ELF)
Free Lossless Audio Codec (FLAC)
Free Lossless Image Format (FLIF)
Flash Video (FLV)
GL Transmission Format (glTF) binary
ICO
Java class
Long Range ZIP (lrzip)
LZ4
Lzip
Musical Instrument Digital Interface (MIDI)
Musepack (MPC)
MPEG-1 video
Nintendo Entertainment System ROM
OpenEXR
Libpcap
Pcap-NG Packet Capture
Adobe Photoshop document
Red Hat Package Manager (RPM) package
Shapefile
SouND (SND)
Tag Image File Format (TIFF)
WavPack
WebAssembly binary
Windows Metafile (WMF)
Web Open Font Format (WOFF)
Web Open Font Format 2 (WOFF2)
eXtensible ARchive format (XAR)
ZIP
Zstandard
Bzip2
JPEG extended range (JPEG XR)
MPEG-1/2 Audio Layer III (MP3)
Small Web Format (SWF)
Advanced Audio Coding (AAC)
Audio Codec 3 (AC-3)
Apple Disk Image
Windows Bitmap (BMP)
Unix compress
Windows Executable
Gzip
MPEG-2 Transport Stream (M2TS)
UTF-8 encoded text
Arbitrary binary data
Implementations
Determines file format from bytes.
If the signature of the file is not recognized,
it will try to detect if the file is an UTF-8 encoded text and if so return FileFormat::Text
.
Otherwise, it will return FileFormat::Binary
which corresponds to arbitrary binary data.
Examples
Detects from the first bytes of a PNG file:
use file_format::FileFormat;
let format = FileFormat::from_bytes(b"\x89\x50\x4E\x47\x0D\x0A\x1A\x0A");
assert_eq!(format, FileFormat::Png);
assert_eq!(format.media_type(), "image/png");
assert_eq!(format.preferred_extension(), "png");
Detects from an UTF-8 text:
use file_format::FileFormat;
let format = FileFormat::from_bytes("岁月不留人".as_bytes());
assert_eq!(format, FileFormat::Text);
assert_eq!(format.media_type(), "text/plain");
assert_eq!(format.preferred_extension(), "txt");
Detects from a zeroed buffer:
use file_format::FileFormat;
let format = FileFormat::from_bytes(&[0; 1000]);
assert_eq!(format, FileFormat::Binary);
assert_eq!(format.media_type(), "application/octet-stream");
assert_eq!(format.preferred_extension(), "bin");
Determines file format from an extension.
Examples
Detects from an extension:
use file_format::FileFormat;
let format = FileFormat::from_extension("ttf");
assert_eq!(format, Some(FileFormat::TrueType));
Detects from an unknown extension:
use file_format::FileFormat;
let format = FileFormat::from_extension("foobar");
assert_eq!(format, None);
Determines file format from a media type.
Examples
Detects from a media type:
use file_format::FileFormat;
let format = FileFormat::from_media_type("video/mp4");
assert_eq!(format, Some(FileFormat::Mp4));
Detects from an unknown media type:
use file_format::FileFormat;
let format = FileFormat::from_media_type("foo/bar");
assert_eq!(format, None);
Determines file format from a file.
Examples
Basic usage:
use file_format::FileFormat;
let format = FileFormat::from_file("Cargo.toml")?;
assert_eq!(format, FileFormat::Text);
Returns the media type (formerly known as MIME type) of the file format.
Examples
Basic usage:
use file_format::FileFormat;
let format = FileFormat::Zstandard;
assert_eq!(format.media_type(), "application/zstd");
Returns the extensions list of the file format.
Examples
Basic usage:
use file_format::FileFormat;
let format = FileFormat::Midi;
assert_eq!(format.extensions(), vec!["mid", "midi"]);
Returns the preferred extension of the file format.
Examples
Basic usage:
use file_format::FileFormat;
let format = FileFormat::Wmv;
assert_eq!(format.preferred_extension(), "wmv");
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for FileFormat
impl Send for FileFormat
impl Sync for FileFormat
impl Unpin for FileFormat
impl UnwindSafe for FileFormat
Blanket Implementations
Mutably borrows from an owned value. Read more