Skip to content

Schnellreferenz für Dateiformate für Entwickler

Kategorie:Referenz
Dieser Artikel ist derzeit nur auf Japanisch verfügbar. Übersetzte Versionen werden schrittweise veröffentlicht.

Bei der Entwicklung von Webanwendungen werden häufig Kenntnisse über Dateiformate benötigt, wie Dateivalidierung, MIME-Typ-Bestimmung und Upload-Limit-Design. Dieser Artikel fasst die häufig verwendeten Dateiformate in Entwicklungsumgebungen in einer Liste zusammen. Wenn Sie diese als Lesezeichen speichern, können Sie sie als schnelle Referenz jederzeit abrufen.

Unterscheidungsmatrix der wichtigsten Dateiformate Dateiformate und Hauptverwendungszwecke nach Kategorie Image JPEG / JPG PNG (透過) WebP (Web推奨) AVIF (次世代) SVG (ベクター) GIF (アニメ旧式) Document PDF (配布) DOCX (Word) XLSX (Excel) PPTX (PowerPoint) ODT (OpenDoc) RTF (互換) Archive ZIP (標準) TAR.GZ (Unix) 7Z (高圧縮) RAR (有償) XZ (LZMA) BZIP2 (旧) Text/Data JSON (API) CSV (表計算) XML (構造) YAML (設定) TOML (設定) TXT (素朴)
Abbildung 1: Wichtigste Dateiformate nach 4 Kategorien

Bildformat

Dateityp MIME-Typ Komprimierung Transparenz Hauptanwendungen
.png image/png Reversibel Entsprechung Screenshots, Logos, Symbole
.jpg / .jpeg image/jpeg Verlustbehaftet Nicht unterstützt Fotos, Miniaturansichten
.gif image/gif Reversibel Entsprechung (1bit) Animation, einfaches Diagramm
.webp image/webp beide Entsprechung Web allgemein (PNG-Nachfolgekandidat)
.avif image/avif beide Entsprechung Next-Generation-Web-Images
.svg image/svg+xml Keine (XML) Entsprechung Vektorgrafiken, Symbole

<strong>Hinweis:</strong> SVG ist XML-basiert und birgt daher XSS-Risiken (Cross-Site Scripting). Es ist gefährlich, von Benutzern hochgeladene SVGs direkt anzuzeigen. Führen Sie immer eine Bereinigung durch.

Dokumentformat

Dateityp MIME-Typ Interne Struktur Hauptanwendungen
.pdf application/pdf Binär Druckdokumente, Formulare
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document ZIP(XML) Word-Dokument
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ZIP(XML) Excel-Tabelle
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation ZIP(XML) PowerPoint-Präsentation

Archivformat

Dateityp MIME-Typ Merkmale Wichtige Punkte
.zip application/zip Am weitesten verbreitet, OS-Standard-Unterstützung Beschädigte japanische Dateinamen (UTF-8 vs CP932)
.tar.gz application/gzip Unix/Linux-Standard Unter Windows können Bereitstellungstools in einigen Fällen erforderlich sein
.7z application/x-7z-compressed Hohe Kompressionsrate Spezialisiertes Tool (7-Zip) erforderlich
.rar application/vnd.rar Unterstützung für geteilte Archive Proprietäres Format

Textdatenformat

Dateityp MIME-Typ Verwendung Häufige Probleme
.csv text/csv Datenaustausch, Import/Export Zeichenkodierung, Zeilenumbruchcodes, BOM
.json application/json API-Kommunikation, Konfigurationsdatei UTF-8 erforderlich (RFC 8259)
.xml application/xml Konfigurationsdatei, Datenaustausch Inkonsistenz mit Encoding-Deklaration
.txt text/plain Log, Notizen, README Die automatische Erkennung der Zeichenkodierung ist instabil

MIME-Typ-Validierung

Bei der Implementierung der Datei-Upload-Funktion ist es wichtig, nicht nur die Dateierweiterung, sondern auch den MIME-Typ zu validieren. Da der MIME-Typ jedoch auf der Client-Seite gefälscht werden kann, sollten Sie auch eine Magic-Byte-Prüfung (Datei-Header) auf der Server-Seite verwenden.

// PHP でのマジックバイトによる判定
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mimeType = $finfo->file($_FILES['upload']['tmp_name']);

$allowedTypes = [
    'image/png',
    'image/jpeg',
    'image/webp',
    'application/pdf',
];

if (!in_array($mimeType, $allowedTypes, true)) {
    throw new Exception('許可されていないファイル形式です');
}
// Node.js での file-type ライブラリを使った判定
import { fileTypeFromFile } from 'file-type';

const type = await fileTypeFromFile('upload.png');
console.log(type);
// { ext: 'png', mime: 'image/png' }

Download der Testdatei

Verwenden Sie die Testdateien von DevLab, um die Validierung und Upload-Funktionen für jedes Format zu testen.

  • <a href="/ja/files/images/">Bilddatei</a> — Verschiedene Größen von PNG, JPG, WebP, GIF
  • <a href="/ja/files/pdf/">PDF-Dateien</a> — PDF-Testdateien in verschiedenen Größen
  • <a href="/ja/files/zip/">ZIP-Datei</a> — Test der Archivverarbeitung
  • <a href="/ja/files/csv/">CSV-Datei</a> — Datenimporttest
  • <a href="/ja/files/json/">JSON-Dateien</a> — Für API-Tests
  • <a href="/ja/files/txt/">Textdatei</a> — Test der Textverarbeitung
  • <a href="/ja/files/broken/">Beschädigte Datei</a> — Fehlerbehandlungstest

Zusammenfassung

Das korrekte Verständnis von Dateiformaten ist die Grundlage für die Implementierung einer sicheren und robusten Upload-Funktionalität. Validieren Sie nicht nur die Dateierweiterung, sondern auch den MIME-Typ und Magic Bytes, um eine angemessene Validierung durchzuführen. Wir empfehlen, diese Referenz als Lesezeichen zu speichern, um sie jederzeit während der Entwicklung konsultieren zu können.

Testdatei zur Verwendung in diesem Artikel

  • → <a href="/ja/files/images/" class="text-primary-600 dark:text-primary-400 hover:underline">Liste der Bild-Testdateien (PNG / JPG / WebP / GIF)</a>
  • → <a href="/ja/files/pdf/" class="text-primary-600 dark:text-primary-400 hover:underline">Liste der PDF-Testdateien</a>
  • → <a href="/ja/files/zip/" class="text-primary-600 dark:text-primary-400 hover:underline">ZIP-Testdatei-Liste</a>
  • → <a href="/ja/files/csv/" class="text-primary-600 dark:text-primary-400 hover:underline">Liste der CSV-Testdateien</a>
  • → <a href="/ja/files/json/" class="text-primary-600 dark:text-primary-400 hover:underline">Liste der JSON-Testdateien</a>

Verwandte Artikel

  • → <a href="/ja/blog/file-validation-checklist/" class="text-primary-600 dark:text-primary-400 hover:underline">Checkliste zur Implementierung der Dateiverifizierung für Web-Formulare</a>
  • → <a href="/ja/reference/magic-bytes/" class="text-primary-600 dark:text-primary-400 hover:underline">Magic Bytes (Datei-Signatur) Referenz</a>