ファイルフォーマット

ファイルフォーマット（英: file format、ファイル形式）は情報をファイルへ収納する形式である。 コンピュータにおいてメディア（文書、音声、画像、動画）やプログラムはファイルとして保存される。統一された順序・構造でこれらの情報がファイルとして保存されていれば、OSやアプリケーションは一貫した方法でファイルにアクセスし情報を利用できる。これを可能にする、ファイルへの情報格納規格がファイルフォーマット（ファイル形式）である。 通常「ファイルフォーマット」と呼ばれるが、MS-DOSやMicrosoft Windows、UNIX、Unix系などのオペレーティングシステムにおけるファイルはストリーミングデータ（データストリーム）形式であり、正確には「各ファイルに格納されたデータのフォーマット」の事である。 通常ファイルに格納されたデータは、テキストまたはバイナリファイルなので、ファイルの内容だけからはそのファイルフォーマットを知ることが困難な場合がある。このため、ファイル名に拡張子をつけて識別したり、ネットワークでの転送時にはMIMEヘッダ（メディアタイプ）等をあわせて送ったり、といった方法が採られる。このようなメタデータを付与する方法はファイルの内容自体に影響を与えず、またファイルを開くことなく種別を判定できる、という利点がある。しかし、拡張子は簡単に、しかも自由に編集できるため、信頼性は極めて低い。またMIMEタイプはIANAによって正式に登録・標準化されていない独自の文字列をアプリケーションやシステムが勝手に付与することもありうる。そのため、多くのファイルフォーマットは、ファイルの先頭にマジックナンバーと呼ばれる、より確実にファイル形式を識別するための情報を付加する。 さまざまなアプリケーションで扱える標準的なフォーマットもあるが、オペレーティングシステムやアプリケーションによりそのデータ形式は様々である。特定のアプリケーションで扱えるデータ形式に変換するためのファイルコンバータを利用できることがある。 bit（ビット）をデータの区切りの単位とするデータ。例：圧縮されたデータ byte（バイト、1byte = 8bit）を単位とするデータ。例：各種アプリケーションのデータファイル 文字を単位とするデータ。例：テキストファイル 特定の文字に意味を持たせ構造化したデータ。例：CSV、マークアップ言語（HTML、XMLなど） テキストもバイナリの一種であるが、実際のビット列はエンコーディング時に採用する文字セットに左右される。テキストのデータストリームをデコードする際のヒントとして、ファイル先頭付近にバイト順マークや文字セット名を記載するフォーマットもある。 各種プログラミング言語のソースファイルも、構造化されたプレーンテキストファイルの一種である。 標準化されたフォーマット 国際的な機関で制定されたフォーマット。ファイルフォーマットの例としては、JPEG、MPEGなどがある。標準化機関の例としては、国際標準化機構 (ISO)、日本産業規格 (JIS)、World Wide Web Consortium (W3C) などがある。 事実上、業界標準となっているフォーマット 後述する「特定のオペレーティングシステム (OS) やアプリケーションに依存するフォーマット」に含まれるが、広く使用され事実上標準（デファクトスタンダード）となっているもの。例としては、GIFやFBX、PDF（米Adobe社、後にISO標準化）などがある。 特定のオペレーティングシステム (OS) やアプリケーションに依存するフォーマット 各種OSやアプリケーションのデータファイル。例としては、BMP、RTF（Microsoft Windows）など多数ある。 プレーンテキスト RTF (Rich Text Format) HTML (HyperText Markup Language) XHTML (Extensible HyperText Markup Language) MHTML (MIME Encapsulation of Aggregate HTML Documents) TeX PDF (Portable Document Format) DjVu DVI (DeVice Independent) CSV (Comma-Separated Values) 主なオフィススイート用のフォーマットには以下がある。 Lotus 1-2-3 123、wk3、wk4 など 一太郎 jtd （一太郎 V8 以降） Microsoft Officeの独自フォーマット doc（Microsoft Wordの独自フォーマットの拡張子） xls（Microsoft Excelの独自フォーマットの拡張子） ppt（Microsoft PowerPointの独自フォーマットの拡張子） Office Open XML（Microsoft Office 2007で新たに採用された文書フォーマット） Office Open XML Document（文書用） Office Open XML Workbook（表計算用） Office Open XML Presentation（プレゼンテーション用） OpenDocument OpenDocument Text（文書用） OpenDocument Spreadsheet（表計算用） OpenDocument Presentation（プレゼンテーション用） OpenDocument Database（データベース用） OpenDocument Formula（数式用） Uniform Office Format Adobe Illustrator (AI) Adobe Photoshop (PSD) CSS CSV PDF PostScript SGML TOML XML RDF RSS Standard Triangulated Language (STL) Wavefront .objファイル (OBJ) PLY (ファイル形式) (PLY) Additive Manufacturing File Format (AMF) 3MF (3MF) X3D (X3D) BMP (Windowsビットマップ) DPX FlashPix（英語版） GIF HD Photo JPEG JPEG 2000 JPEG XR MAG OpenEXR PICT PNG RAW画像 DNG TGA TIFF XBM (X11ビットマップ) DXF EPS HP-GL SVG Windows Metafile MP3 (MPEG-1 Audio Layer-3) mp3PRO AAC (Advanced Audio Coding) ALAC (Apple Lossless Audio Codec) WAV (RIFF Waveform Audio Format) WMA (Windows Media Audio) AIFF (Audio Interchange File Format) AU Ogg Vorbis RealAudio FLAC (Free Lossless Audio Codec) Monkey's Audio Standard MIDI File (SMF) EUP (EUPHONY) - FM TOWNS標準の楽曲フォーマット MML (Music Macro Language) SMAF (Synthetic music Mobile Application Format) AVI (Audio Video Interleave) ASF (Advanced Systems Format) FLV (Flash Video) OGM (Ogg Media) OGG (Ogg file) MPEG (Moving Picture Experts Group) MPEG-1 MPEG-2 MPEG-4 MP4 (MPEG-4 Part 14) MOV (QuickTime Movie) RealVideo VG2 DivX (DivX Media Format) アニメーションGIF MNG (Multiple-image Network Graphics) SWF (Macromedia Shockwave Flash) SMIL (Synchronized Multimedia Integration Language) 7z ACE AFA bzip2 DGCA (Digital G Codec Archiver) CAB tar GCA (G Compression Archiver) gzip LHA (LZH) / LHarc RAR ZIP StuffIt Compact Pro EXEフォーマット Portable Executable COMフォーマット a.out ELF (Executable and Linkable Format) PEF (Preferred Executable Format) Mach-O S-record dyld MACフレーム PPPフレーム HDLCフレーム パケット IPパケット TCPパケット HTTPパケット EDIF (Electronic Design Interchange Format) - 電子設計データ 特定のファイルフォーマットと、それを開くアプリケーションソフトウェアを登録しておき、操作を行いたいファイルを選択した際にアプリケーションソフトウェアを選ぶ手間を省くための動作を関連づけ (association) という。関連づける手法はオペレーティングシステムなどの環境により異なる。例えばWindowsやOS/2では拡張子によって対応するアプリケーションを選択する（Windowsではレジストリに登録する。OS/2ではWPSの.INIファイルに情報が格納される）。 Mac OSでは、ファイルのメタデータとしてクリエータとタイプというデータがある。ファイルシステムのHFSとHFS+、ファイル転送プロトコルのAFPではこれらは保持されるが、FTP、HTTP、電子メール等を介してファイルをやりとりする場合は、クリエータとタイプを保持するフォーマット（Macバイナリ、AppleSingle、AppleDouble、BinHex等）に変換するか、Mac OS用のアーカイブフォーマット（StuffIt、MacLHA等）を用いる必要がある。 macOSではクリエータとタイプがあればそれを優先するが、なければ拡張子による対応づけが利用される。