Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einführung
2 Mathematische und technische Grundlagen
3 Hardware
4 Netzwerkgrundlagen
5 Betriebssystemgrundlagen
6 Windows
7 Linux
8 Mac OS X
9 Grundlagen der Programmierung
10 Konzepte der Programmierung
11 Software-Engineering
12 Datenbanken
13 Server für Webanwendungen
14 Weitere Internet-Serverdienste
15 XML
16 Weitere Datei- und Datenformate
17 Webseitenerstellung mit (X)HTML und CSS
18 Webserveranwendungen
19 JavaScript und Ajax
20 Computer- und Netzwerksicherheit
A Glossar
B Zweisprachige Wortliste
C Kommentiertes Literatur- und Linkverzeichnis
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
IT-Handbuch für Fachinformatiker von Sascha Kersken
Der Ausbildungsbegleiter
Buch: IT-Handbuch für Fachinformatiker

IT-Handbuch für Fachinformatiker
Rheinwerk Computing
1216 S., 6., aktualisierte und erweiterte Auflage, geb.
34,90 Euro, ISBN 978-3-8362-2234-1
Pfeil 16 Weitere Datei- und Datenformate
Pfeil 16.1 Textdateien und Zeichensätze
Pfeil 16.1.1 Das Problem des Zeilenumbruchs
Pfeil 16.1.2 Zeichensätze
Pfeil 16.1.3 Textbasierte Dateiformate
Pfeil 16.2 Binäre Dateiformate
Pfeil 16.2.1 Bilddateiformate
Pfeil 16.2.2 Multimedia-Dateiformate
Pfeil 16.2.3 Archivdateien verwenden
Pfeil 16.3 Zusammenfassung

Rheinwerk Computing - Zum Seitenanfang

16.2 Binäre DateiformateZur nächsten Überschrift

Einen grundsätzlich anderen Weg als die bisher besprochenen textbasierten Dateiformate gehen die Binärformate. Es handelt sich um Dateien mit numerischen Inhalten, wobei ohne Kenntnis der Spezifikation des jeweiligen Dateiformats nicht erkennbar ist, ob die gespeicherten Zahlen an bestimmten Stellen für Befehle oder für Nutzdaten stehen. Viele Formate nehmen trotzdem eine klare Trennung vor: Sie schreiben die Verwaltungsinformationen zu Beginn der Datei in einen Header und hängen die Nutzdaten hinten an. Auf diese Weise wird einem Programm, das eine solche Datei öffnet, zuerst mitgeteilt, wie es mit den Daten verfahren soll, bevor diese Daten selbst gelesen werden.

Falls Sie Binärdateien in einem Texteditor öffnen, bekommen Sie ein einziges Chaos seltsamer Sonderzeichen zu sehen, weil die Binärdaten irrtümlich als Zeichen eines Zeichensatzes interpretiert werden. Sollten Sie eine Binärdatei aus dem Texteditor heraus speichern, geht sie ziemlich sicher kaputt – der Editor wird versuchen, seine für Textdokumente gedachte Zeilenumbruchlogik auf die Binärdaten anzuwenden, wodurch sich die Bytes des Dokuments wahrscheinlich verschieben.

Wenn Sie eine Binärdatei überhaupt manuell und nicht mit dem zuständigen Programm öffnen möchten, können Sie das nur mit einem Hexadezimal-Editor (kurz Hex-Editor) tun, der die einzelnen Bytes des Dokuments als Hexwerte und manchmal zusätzlich als Text anzeigt. Abbildung 16.2 zeigt den Anfang einer TIFF-Bilddatei im Hex-Modus des Windows-Editors TextPad.

Dass die Zeichendarstellung der Binärwerte rechts neben den Hexadezimalkolonnen zum Teil lesbaren Text enthält, ist übrigens kein Widerspruch zu der Aussage, dass Binärdokumente nur numerische Werte enthalten: Zufälligerweise wird Text, der im Dokument selbst oder – wie hier – für Verwaltungszwecke eingesetzt wird, numerisch in einem bestimmten Zeichencode abgelegt. Dies ist eine von vielen Varianten zur Speicherung von Text innerhalb von Binärdokumenten, die eben auch vielerlei andere Arten von Daten enthalten können.

Abbildung

Abbildung 16.2 Der Beginn einer TIFF-Bilddatei in einem Hex-Editor

Beachten Sie, dass Binärdaten als solche plattformabhängig sind. Es bestehen zwei verschiedene große Probleme:

  • Verschiedene Plattformen verwenden unterschiedliche Wortbreiten wie 16, 32 oder 64 Bit.
  • Es gibt zwei verschiedene Reihenfolgen für die Darstellung von Werten, die mehrere Bytes breit sind: Sogenannte Big-Endian-Architekturen wie Motorola 68K oder PowerPC speichern das hochwertigste Byte vorn, während Little-Endian[Anm.: Die Bezeichnungen Little Endian und Big Endian stammen aus dem Roman »Gullivers Reisen« von Jonathan Swift. Mit diesen Begriffen parodiert er den jahrhundertelangen Zwist zwischen der katholischen und der anglikanischen Kirche in Großbritannien als blutigen Kampf zwischen Volksgruppen, die ihre Frühstückseier am spitzen beziehungsweise am runden Ende köpfen.]-Systeme wie Intel und hiermit kompatible Systeme oder die alten VAX-Maschinen das niederwertigste Byte nach vorn stellen.

    Dies lässt sich einfacher an einem Beispiel erläutern: Angenommen, der Wert 2005 (dezimal) soll als 32-Bit-Integer ohne Vorzeichen abgespeichert werden. Bei einer Big-Endian-Architektur hätten die vier Bytes von links nach rechts die Werte 00, 00, 07, D5 (hexadezimal). Eine Little-Endian-Architektur würde dagegen nacheinander die Werte D5, 07, 00, 00 abspeichern. Stellen Sie sich die Missverständnisse vor, die sich daraus ergeben können!

Deshalb verwenden konkrete Binärdateiformate einfach ein bestimmtes, festes Format und kümmern sich nicht um die zugrunde liegende Rechnerarchitektur. Von einem Programm, das ein solches Format lesen soll, muss also erwartet werden, dass es die Byte-Reihenfolge des Formats korrekt umsetzt.

Eine interessante Variante ergibt sich übrigens bei TIFF-Bildern: Hier können Sie selbst wählen, ob die Bilddaten im Big-Endian- oder im Little-Endian-Format gespeichert werden sollen; in Photoshop heißt die Auswahl »IBM PC« (Little Endian) oder »Macintosh« (Big Endian). Da das gewählte Format an einer festen Stelle im Dokument selbst vermerkt wird, kann jedes TIFF-fähige Programm mit beiden Varianten umgehen, sodass sich aus heutiger Sicht kein Unterschied ergibt.

Datenkomprimierung

Eine bei Binärdateien häufig verwendete Option ist die Datenkomprimierung. Es handelt sich um mathematische Verfahren, die für eine Verringerung der Datenmenge sorgen sollen. Dies ist nützlich, weil komprimierte Daten weniger Platz auf Datenträgern belegen und schneller über das Internet übertragen werden können. Grundsätzlich lassen sich zwei Kompressionsverfahren voneinander unterscheiden:

  • Die verlustfreie Komprimierung rechnet die vorhandenen Daten durch geeignete mathematische Verfahren um, sodass sie weniger Speicherplatz beanspruchen, aber wieder genau in ihren ursprünglichen Zustand zurückgerechnet werden können.

Verlustfreie Verfahren werden beispielsweise für Archivformate wie ZIP oder StuffIt verwendet, aber auch für manche Bilddateien.

Das einfachste verlustfreie Kompressionsverfahren ist RLE (Run Length Encoding oder auf Deutsch Lauflängencodierung). Bei dieser Methode werden aufeinanderfolgende identische Bytes durch deren Wert und die Anzahl ihres Vorkommens abgekürzt.

Eine Weiterentwicklung von RLE stellt das LZW-Verfahren dar, benannt nach seinen Entwicklern Lempel, Ziv und Welch. Es wird unter anderem zur Komprimierung der Bildformate GIF und TIFF verwendet und funktioniert folgendermaßen: In der Datei wird nach wiederkehrenden Datenmustern gesucht. Diese Muster werden durchnummeriert und nur einmal abgespeichert. An den entsprechenden Stellen, an denen sie eigentlich vorkommen sollten, steht nur noch ein Verweis auf die entsprechende Nummer und gegebenenfalls wiederum eine Anzahl.

Wie man sich leicht vorstellen kann, sind RLE und LZW besonders effizient, wenn ein Bild aus großen, einfarbigen Flächen besteht.

  • Eine grundsätzlich andere Methode ist die verlustbehaftete Komprimierung. Sie reduziert die Datenmenge, indem sie tatsächliche Daten aus der ursprünglichen Datei weglässt. Einfache verlustbehaftete Kompressionsmethoden wie die alte ADPCM-Komprimierung für Sound reduzieren die Datenmenge einfach ohne Unterschied durch Mittelwertbildung. Derartige Datenverluste fallen natürlich oft als extrem störend auf.

Moderne verlustbehaftete Kompressionsverfahren sind dagegen aus der Fragestellung entstanden, auf welche Teile der Daten man am ehesten verzichten kann, ohne dass der Verlust allzu sehr ins Gewicht fällt. Dies führt zu Entwicklungen wie JPEG für die Komprimierung von Fotos, bei dem die meisten Farbtöne verworfen werden, weil Helligkeitsunterschiede stärker wahrgenommen werden. Ein anderes Beispiel ist MP3 für die Audiokomprimierung, das bevorzugt diejenigen Töne herausfiltert, die die meisten Menschen nicht oder nur unterschwellig hören.


Rheinwerk Computing - Zum Seitenanfang

16.2.1 BilddateiformateZur nächsten ÜberschriftZur vorigen Überschrift

In diesem Abschnitt finden Sie kurze Beschreibungen der wichtigsten Bilddateiformate. Zu Beginn zeigt Tabelle 16.4 eine kurze Übersicht über die Fähigkeiten der Formate; im Anschluss daran werden sie dann im Text näher erläutert.

Die Bedeutung der einzelnen Begriffe in der Tabelle wie Farbtiefe oder Farbmodi können Sie in Kapitel 1, »Einführung«, nachlesen.

Tabelle 16.4 Übersicht über wichtige Bilddateiformate

Format Farbtiefe Farbmodi Komprimierung weitere Daten

Photoshop
(.psd)

beliebig

Alle

eigene, verlustfrei (optional)

alle, die Photoshop bietet

Photoshop 2.x
(.psd)

beliebig

Alle

keine Ebenen!

TIFF (.tif)

beliebig

Alle

LZW, verlustfrei

Alphakanäle, Pfade

Encapsulated
PostScript (.eps)

beliebig

Alle

Vektordaten, Text, Schriften

JPEG (.jpg)

bis 24 Bit

RGB, CMYK, Graustufen

eigene, mit Verlust

Pfade

GIF (.gif)

8 Bit

indizierte Farben, Graustufen

LZW, verlustfrei

absolute Transparenz, Animation

PNG (.png)

8, 24 oder
32 Bit

indizierte Farben, RGB

eigene, verlustfrei

bei 32 Bit Alphakanal

BMP (.bmp)

beliebig

RGB, Graustufen, indizierte Farben

RLE (ähnlich LZW)

Alphakanäle

PICT (.pct)

beliebig

RGB, Graustufen, indizierte Farben

JPEG möglich

Vektordaten

Das Photoshop-Format

Der große Vorteil des Photoshop-Dateiformats PSD (für Photoshop Document) besteht darin, dass dieses Format sämtliche Daten des Adobe-Programms Photoshop speichern kann, schließlich handelt es sich um das eigene Format dieser Anwendung.

Wenn Sie mit Photoshop arbeiten, sollten Sie stets eine Arbeitskopie Ihrer bearbeiteten Bilder im Photoshop-Format behalten, weil kein anderes Dateiformat alle Bilddaten mitspeichert.

Der einzige Nachteil des PSD-Formats (neben seiner recht stolzen Dateigrößen) ist die kaum vorhandene Unterstützung durch andere Programme. PSD-Dateien können ansonsten weder als Teil von Layouts an Druckereien weitergegeben noch auf Webseiten dargestellt werden. Sie benötigen stets Dateien in anderen Formaten für diese Einsatzzwecke.

Die spezielle Variante Photoshop 2.0, die von einigen älteren Fremdanwendungen als Importformat eingesetzt werden kann, unterstützt nicht einmal die in Photoshop heutzutage fundamentalen Ebenen.

Das TIFF-Format

Das Tagged Image File Format (TIFF; Dateiendung .tif) ist das Standardformat für die Einbettung hochauflösender Pixelbilder in Layoutdokumente in der Druckvorstufe. Der Name bedeutet so viel wie »Bilddateiformat mit Marken«, wobei diese Marken (Tags) für spezielle Kennzeichnungen von Bildteilen und -inhalten stehen.

TIFF besitzt eine Reihe bedeutender Besonderheiten:

  • Eine TIFF-Datei kann beliebig viele Farbkanäle enthalten. Diese können entweder für den Vierfarbdruck und zusätzliche Sonderfarben verwendet werden oder dienen in bestimmten Anwendungen als Alphakanäle, die die Transparenz bestimmen.
  • In TIFF-Dateien können Sie neben den normalen Pixeldaten auch Vektorpfade speichern. Besonders wichtig sind in diesem Zusammenhang die Beschneidungspfade, die transparente Bereiche für Layoutprogramme definieren.
  • Die LZW-Komprimierung ist optional. Sie muss nicht verwendet werden; einige ältere Programme sind damit inkompatibel. Normalerweise ist LZW auf 8 Bit (256 Farben) beschränkt. Da TIFF die Farbkanäle einzeln speichert, gilt diese Beschränkung hier nur pro Kanal, sodass Sie insgesamt eine beliebige Farbtiefe damit erreichen können.

    In neueren TIFF-Varianten können Sie statt der LZW-Komprimierung auch eine ZIP- oder JPEG-Komprimierung wählen; ZIP komprimiert etwas stärker als LZW, während die verlustbehaftete JPEG-Komprimierung speziell für Fotos geeignet ist.

  • In neueren Photoshop-Versionen wird eine TIFF-Version unterstützt, die Photoshop-Ebenen speichern kann. Diese werden einfach als zusätzliche Kanäle mit entsprechenden erweiterten Informationen angelegt und können von den meisten anderen Programmen außer Photoshop nicht gelesen werden; allerdings steht die »flache« Sicht auf das gesamte Bild immer zur Verfügung.

Die »Internetformate« GIF, JPEG und PNG

Die drei Formate GIF, JPEG und PNG können für die Präsentation von Bildern auf Webseiten eingesetzt werden. In diesem Abschnitt finden Sie die wichtigsten Informationen darüber.

Das Dateiformat GIF (Graphics Interchange Format) wurde ab 1987 im Auftrag des Onlinedienstes CompuServe entwickelt. GIF-Bilder verwenden grundsätzlich die LZW-Komprimierung; sie ist nicht abschaltbar wie beim TIFF-Format. GIF besitzt die folgenden besonderen Eigenschaften:

  • Die Farbtiefe beträgt höchstens 8 Bit; maximal können also 256 Farben dargestellt werden. Jedes GIF kann allerdings seine eigene Farbpalette besitzen, die entweder aus den Farben des ursprünglichen Bildes berechnet oder an eine Standardpalette angepasst werden kann.
  • Seit der 1989 entwickelten erweiterten Fassung GIF 89a unterstützt das Format auch Transparenz, allerdings lediglich eine »Alles oder nichts«-Variante davon: Bestimmte Pixel können als unsichtbar definiert werden.
  • Eine GIF-Datei ist eigentlich ein Container für beliebig viele Bilder. Der GIF-Header kann Anweisungen enthalten, wie lange jedes dieser Bilder gezeigt werden soll, und ermöglicht auf diese Weise die GIF-Animation. Animierte GIFs sind das Standardformat für Werbebanner auf Webseiten.
  • GIF-Bilder können »interlaced« abgespeichert werden. In diesem Fall werden sie stufen- statt zeilenweise aufgebaut.

Besonders gut geeignet ist GIF für flächige Grafiken mit wenigen Farben (Logos, Schmuckelemente, eigene Aufzählungszeichen und so weiter); nicht empfehlenswert ist das Format dagegen für Fotos.

Das Dateiformat JPEG ist nach der Joint Photographic Expert Group benannt, einer Expertenkommission, die sich Anfang der 90er-Jahre über die effiziente Komprimierung von Fotos Gedanken machte. Das Dateiformat selbst heißt eigentlich JFIF (JPEG File Interchange Format), benutzt aber üblicherweise die Dateiendung .jpg.

Das JPEG-Kompressionsverfahren basiert auf der Erkenntnis, dass Helligkeitsunterschiede erheblich stärker wahrgenommen werden als Farbtondifferenzen. Deshalb wird in einem quadratischen Bereich die Helligkeit jedes Pixels gespeichert, allerdings nur der Durchschnittswert der Farbtöne dieser Pixel. Bei starker Vergrößerung ist daher eine Art »Schachbrettmuster« zu erkennen. Sie können bei JPEG-Bildern den Kompressionsfaktor frei wählen; je nach Anwendung werden 10 bis 100 verschiedene Stufen angeboten. Je stärker die Komprimierung, desto kleiner wird die resultierende Datei, aber es geht auch mehr Information verloren.

Besonders gut geeignet ist JPEG für die Komprimierung von Fotos und anderen Halbtonbildern. Aus diesem Grund ist JPEG beispielsweise das eingebaute Dateiformat der meisten Digitalkameras. Für flächige Grafiken ist das Format dagegen gar nicht geeignet, bei diesen kommt es an diagonalen oder kurvenförmigen Kontrastübergängen zu hässlichen Fehlern, den sogenannten JPEG-Artefakten.

Zu beachten ist, dass Sie ein Bild nicht mehrmals hintereinander im JPEG-Format speichern dürfen, denn bei jeder Speicherung kommt es zu erneutem Verlust. Speichern Sie deshalb für eine zukünftige Nachbearbeitung stets eine Kopie in einem verlustfreien Format.

Das PNG-Format (Portable Network Graphics; gesprochen »ping«) wurde als möglicher Nachfolger von GIF entwickelt – besonders, weil die freie Verwendung von GIF bis Juli 2004 durch ein Patent auf das LZW-Verfahren bedroht wurde. PNG vereint in gewisser Weise die besten Eigenschaften von GIF und JPEG: Wie GIF komprimiert es ohne Verlust (wenn auch etwas weniger effizient als LZW), aber mit bis zu 32 Bit Farbtiefe. Neben der vollen Foto-Farbtiefe von JPEG unterstützt es zusätzlich echte Alpha-Transparenz, also den stufenlosen Übergang der Deckkraft.

Trotz dieser unbestreitbaren Vorteile hat sich das PNG-Format bisher noch nicht allgemein durchsetzen können. Ein großer Nachteil ist sicherlich, dass es, anders als GIF und JPEG, noch nicht von allen Webbrowsern unterstützt wird.

Die Systemformate: BMP und PICT

Windows und Mac OS können natürlich schon seit ihren frühesten Anfangstagen mit digitalen Bildern umgehen. Allerdings war es früher absolut nicht selbstverständlich, Bilder in plattformunabhängigen Formaten zu speichern. Microsoft und Apple entwickelten also unabhängige Lösungen.

Das BMP-Format (der Name steht einfach für »Bitmap«) existiert in zwei leicht unterschiedlichen Varianten, die Sie beispielsweise beim Speichern in Photoshop auswählen können: Es gibt eine Fassung für Microsoft Windows und eine modifizierte, die für das IBM-System OS/2 entwickelt wurde. Die beiden Arten von BMP-Dateien unterscheiden sich nur bezüglich einiger Header-Informationen, aber die meisten Programme kommen mit der Windows-Variante besser zurecht.

BMP-Bilder können Farbtiefen von 8 bis 32 Bit enthalten. Bei 8 Bit wird genau wie beim GIF-Format eine indizierte Farbpalette angelegt. Bei 32 Bit dient der vierte Kanal als Alphakanal, der in manchen Anwendungsprogrammen den Transparenzgrad jedes Pixels bestimmen kann.

Optional beherrschen BMP-Bilder eine verlustfreie Komprimierung namens RLE (Run Length Encoding), die der LZW-Komprimierung stark ähnelt. Nicht RLE-komprimierte BMPs, die sich noch an einige weitere Vorgaben halten, werden auch als DIB (Device Independent Bitmap, also geräteunabhängiges Bitmap) bezeichnet.

Für die Speicherung von Bitmaps auf Macintosh-Rechnern wurde von Apple das PICT-Format entworfen (der Name steht einfach für »Picture«). Es ähnelt dem BMP-Format bezüglich der erlaubten Farbmodi und Farbtiefen. Dennoch gibt es zwei wichtige Besonderheiten: Die optional verfügbare Komprimierung benutzt das JPEG-Format, und PICT-Dateien können Vektordaten enthalten. In Mac OS X wurde PICT inzwischen vollständig von PNG abgelöst, beispielsweise für Screenshots.


Rheinwerk Computing - Zum Seitenanfang

16.2.2 Multimedia-DateiformateZur nächsten ÜberschriftZur vorigen Überschrift

In diesem Abschnitt wird auf Audio- und Video-Dateiformate eingegangen. Einzelheiten zur Verwendung dieser Formate gehen über den Umfang dieses Buches hinaus; an dieser Stelle werden daher nur ihre wichtigsten Eigenschaften und Unterschiede dargestellt.

Audio-Dateiformate

Die traditionellen Audio-Dateiformate sind das von Apple entworfene AIFF (Audio Interchange File Format) und Microsofts WAV-Format (steht einfach für »Wave«, also Schallwelle). Beide sind einander, abgesehen von ihrem etwas unterschiedlichen Header-Aufbau, sehr ähnlich. Die Dateiendungen sind .aif oder .aiff sowie .wav.

Beide Dateiformate sind letztlich Hüllformate für Audiodaten, die in unterschiedlichen komprimierten oder unkomprimierten Formaten abgespeichert wurden. Für die Beschreibung der Komprimierungen sind sogenannte Codecs erforderlich (Codec ist die Abkürzung für »Coder/Decoder«). Eine Sounddatei kann auf einem bestimmten Rechner nur dann abgespielt werden, wenn dort ein entsprechender Codec installiert ist. Sowohl der Apple QuickTime Player als auch der Microsoft Windows Media Player, die wichtigsten Abspielprogramme für solche Audiodateien, können viele Codecs bei Bedarf aus dem Internet nachladen, oftmals sogar automatisch.

Die grundlegende Speicherung der Audiodaten in den ursprünglichen Versionen dieser beiden Dateiformate erfolgte übrigens unkomprimiert in einem Audio-CD-kompatiblen Format; im Grunde wurde lediglich der Datei-Header vor die Daten eines CD-Audiotracks gesetzt.

Die ersten verfügbaren Kompressionsverfahren für Sound waren die ADPCM-Verfahren (Adaptive Differential Pulse Code Modulation). Die Qualität dieser Formate ließ allerdings zu wünschen übrig, weil sie im Wesentlichen nach einem starren mathematischen Modell Originalinformationen entfernten.

Das erste am Hören selbst orientierte Audio-Kompressionsformat war das von der Fraunhofer Gesellschaft entwickelte MPEG 1 Audio Layer 3, also eigentlich ein Format für Soundtracks in MPEG-Videodateien. Besser bekannt ist dieses Format unter seinem Kurznamen MP3. Die MP3-Komprimierung filtert vornehmlich diejenigen Tonbestandteile heraus, die das menschliche Ohr in der Regel nicht wahrnimmt. Bei einer Datenrate von 128 KBit/s gelingt eine Komprimierung auf etwa ein Zehntel der Audio-CD-Datenmenge ohne nennenswerten Verlust.

MP3 kann übrigens sowohl als Codec für WAV- oder AIFF-Dateien verwendet werden als auch – was erheblich häufiger vorkommt – als eigenständiges Dateiformat mit der Endung .mp3. Letzteres ist das Format, das beispielsweise von tragbaren MP3-Playern eingesetzt wird.

Nach dem Vorbild von MP3 wurden inzwischen einige modernere Audio-Kompressionsverfahren entwickelt, beispielsweise OGG Vorbis oder MP4. Sie führen vor allem bei sehr starken Kompressionsraten, das heißt bei Datenraten von 64 KBit/s oder weniger, zu besseren Ergebnissen als MP3.

Video-Dateiformate

Es gibt drei wichtige Video-Dateiformate: Apple QuickTime, Microsoft AVI und die unabhängigen MPEG-Formate. Genau wie bei den Audiodateien dienen QuickTime und AVI (Video for Windows) der Speicherung unterschiedlich codierter Video- und Audiospuren, für die wiederum die bereits genannten Codecs verwendet werden. Es gibt zahllose Video-Codecs, die natürlich vom jeweiligen Videoschnittprogramm sowie von der verwendeten Abspielsoftware unterstützt werden müssen. Beispiele sind etwa der Klassiker Cinepak von Radius Software oder Sorenson Video, das unter anderem innerhalb von Macromedia Flash für die Videokomprimierung verwendet wird. Ein sehr moderner Codec, der häufig für die Speicherung von Spielfilmen auf beschreibbaren CDs oder die Bereitstellung von Videos im Internet eingesetzt wird, ist DivX (oder dessen Open-Source-Implementierung Xvid), das eine sehr hohe Kompressionsrate bei guter Qualität erzielt.

Im Wesentlichen verwenden alle Video-Codecs eine Kombination aus zwei Kompressionsverfahren: Erstens werden die einzelnen Bilder (Frames) JPEG-komprimiert, und zwar umso stärker, je schneller die Bildwechsel innerhalb einer Sequenz sind. Zweitens werden zwischen zwei aufeinanderfolgenden Frames nur die Unterschiede gespeichert.

QuickTime-Filme (Dateiendung unter Windows .mov oder .qt) werden vornehmlich mit dem QuickTime-Player von Apple abgespielt, der sowohl für Mac OS X als auch für Windows verfügbar ist. AVI-Videos (Dateierweiterung .avi) werden dagegen meist mit dem – ebenfalls für beide Plattformen erhältlichen – Windows Media Player abgespielt. Inzwischen können beide Player aber auch das jeweilige Konkurrenzformat sowie diverse MPEG-Formate abspielen; auch für Linux und andere Unix-Varianten steht entsprechende Software zur Verfügung. AVI kann mit mehr verschiedenen Codecs umgehen, während QuickTime neben Audio und Video zusätzliche Datenspuren unterstützt, beispielsweise für Macromedia Flash mitsamt Interaktivität.

Die MPEG-Formate der Motion Picture Expert Group wurden vor allem für Picture Discs und DVDs entwickelt und zunächst nicht für den Einsatz als Computerdateien. Verfügbar sind die Formate MPEG-1, MPEG-2 und MPEG-4. MPEG-1 wurde für frühere Picture Discs und manchmal für Videodateien eingesetzt; MPEG-2 ist die Basis für Video-DVDs. Erst MPEG-4 wurde ausdrücklich als Online- und Mobilgeräte-Videoformat entwickelt. Das zuvor erwähnte DivX basiert auf einer modifizierten MPEG-4-Version.

Alle MPEG-Versionen bestechen durch ihre vergleichsweise hohe Darstellungsqualität und effiziente Komprimierung. Sie können MPEG-Dateien übrigens leicht mit dem QuickTime-Player oder mit Windows Media Player abspielen; sämtliche innerhalb von MPEG-Filmen verwendeten Audio- und Video-Codecs werden von den aktuellen Versionen dieser Player unterstützt.


Rheinwerk Computing - Zum Seitenanfang

16.2.3 Archivdateien verwendenZur vorigen Überschrift

Ein wichtiges Anwendungsgebiet der Datenkomprimierung sind die allgegenwärtigen Archivdateien. Diese begegnen Ihnen täglich beim Download von Software und anderen Inhalten. Es geht um eine Methode, mehrere Dateien in eine gemeinsame Containerdatei zu verpacken und nach Möglichkeit auch zu komprimieren.

Unter Windows dominiert das PKZIP-Format (meist kurz ZIP genannt), das Dateisammlungen in einem Arbeitsschritt archiviert und komprimiert; die Dateiendung ist .zip. Dafür stehen genügend intuitive grafische Tools wie WinZip oder diverse Freewarealternativen zur Verfügung. Seit XP kann Windows diese Dateien als sogenannte ZIP-komprimierte Ordner auch ohne Drittanbietersoftware erstellen und öffnen.

Das ZIP-Format wird übrigens auch für viele andere Dateitypen verwendet. OpenOffice.org-Dateien und Microsoft Office 2007-Dateien sind beispielsweise gezippte Sammlungen von XML-Dateien. Auch JAR-Dateien, die zur Verbreitung von Java-Softwareprojekten und Java-Bibliotheken genutzt werden, sind ZIP-Dateien. Solche Formate verwenden zur Unterscheidung jeweils eigene Dateiendungen sowie spezielle Verzeichnisstrukturen; aber sobald Sie sie in .zip umbenennen, können Sie sie mit jedem handelsüblichen ZIP-Tool öffnen und in sie hineinschauen.

Auf Unix-artigen Systemen wird dagegen meist eine Kombination verwendet: das Archivprogramm tar (das nicht selbst komprimieren kann) und eines von mehreren externen Kompressionsprogrammen (die zumindest früher nicht selbst archivieren konnten).

tar ist die Abkürzung für »tape archive«. Da klassische Magnetbänder nur sequenziell beschrieben und gelesen werden können, ist es nützlich, alle zu sichernden Dateien zunächst in eine einzige große Hülldatei zu schreiben.

Wenn Sie tar auf zwei kurze Textdateien anwenden und sich das Ergebnis anzeigen lassen, können Sie sehen, wie es intern funktioniert. Erstellen Sie zunächst die beiden Textdateien:

$ cat >text1
Ich bin Text 1.
Strg + D
$ cat >text2
Ich bin Text 2.Strg + D

Als Nächstes sollen die beiden Dateien in einem tar-Archiv gesammelt werden. Die Option zum Speichern heißt -c (Langform --create). Falls Sie Dateien an ein bestehendes Archiv anhängen möchten, wird stattdessen -r (--append) verwendet. Zusätzlich wird die Option -f Archivdatei benötigt, weil die Ausgabe in einer Datei und nicht auf einem Bandlaufwerk landen soll. Meistens wird auch noch -v (--verbose) verwendet; dieser Parameter listet die verarbeiteten Dateien auf. Das folgende Beispiel speichert die beiden Textdateien in einem Archiv namens texte.tar:

$ tar cvf texte.tar text1 text2
text1
text2

Nun können Sie sich das erzeugte Archiv anzeigen lassen. Da die einzelnen Felder innerhalb von tar-Archiven durch Nullzeichen (ASCII 0 oder Escape-Sequenz \0) getrennt werden, sollten Sie geeignete Mittel verwenden, um diese durch Leerzeichen, Tabs, Zeilenumbrüche oder andere Zeichen Ihrer Wahl zu ersetzen. Das folgende Beispiel sendet die Ausgabe durch eine Pipe an ein direkt auf der Kommandozeile geschriebenes Perl-Skript (die Option -e sorgt dafür, dass Perl den übergebenen String nicht als Dateinamen, sondern als Skript auswertet):

$ cat texte.tar |perl -e 'while(<>) {s/\0+/\n/g; print; }'
text1
0000644
0000000
0000000
00000000020
10434566641
010545
0
ustar
sascha
users
Ich bin Text 1.

text2
0000644
0000000
0000000
00000000020
10434566655
010553
0
ustar
sascha
users
Ich bin Text 2.

Die Perl-Substitutionsanweisung s/\0+/\n/g ersetzt eine Folge von einem oder mehreren Nullzeichen (\0+) durch je einen Zeilenumbruch (\n), und dies beliebig oft in einer Eingabezeile (Option /g für global). Mehr über die Arbeit mit regulären Ausdrücken in Perl haben Sie in Kapitel 10, »Konzepte der Programmierung«, erfahren.

Wie Sie sehen, enthält jeder Dateieintrag im Archiv vor dem eigentlichen Inhalt den Dateinamen, verschiedene Informationsfelder (unter anderem die Dateirechte, hier 0644), Benutzer und Gruppe.

Wenn Sie ein solches Archiv wieder entpacken möchten, wird statt -c die Option -x (--extract) eingesetzt. Hier die dafür erforderliche Eingabe, um texte.tar wieder zu entpacken:

$ tar xvf texte.tar
texte1
texte2

Wenn Sie ein fertiges tar-Archiv komprimieren möchten, haben Sie unter anderem die Wahl zwischen den Kompressionsformaten GNU zip, das weiter verbreitet und damit kompatibler ist, und bzip2, das effizienter komprimiert. Wenn Sie texte.tar gzip-komprimieren möchten, geben Sie Folgendes ein:

$ gzip texte.tar

Das Ergebnis ist eine Datei namens texte.tar.gz; die ursprüngliche tar-Datei wird gelöscht. Zum Entpacken dient folgende Eingabe:

$ gunzip texte.tar.gz

Dies ersetzt umgekehrt die komprimierte Datei durch die entpackte Version texte.tar.

Für die bzip2-Komprimierung wird dagegen dieses Kommando verwendet:

$ bzip2 texte.tar

Der entsprechende Befehl zum Entpacken lautet:

$ bunzip2 texte.tar.bz2

Die moderne GNU-Version von tar, die beispielsweise in allen aktuellen Linux-Distributionen enthalten ist, kann die gzip- oder bzip2-Komprimierung beziehungsweise -Dekomprimierung als zusätzlichen Arbeitsschritt gleich mit übernehmen. Dazu wird zusätzlich die Option -z (GNU zip) beziehungsweise -j (bzip2) verwendet. Den Archivdateinamen sollten Sie in diesem Fall gleich mit der zusätzlichen Endung für das gewählte Kompressionsformat versehen. Das folgende Beispiel erstellt aus texte1 und texte2 das komprimierte GNU-zip-Archiv texte.tar.gz:

$ tar czvf texte.tar.gz text1 text2
text1
text2

Dekomprimiert und entpackt wird die neue Datei wie folgt:

$ tar xzvf texte.tar.gz

Falls Sie stattdessen eine bz2-Komprimierung wünschen, lauten die beiden Eingaben so:

$ tar cjvf texte.tar.bz2 text1 text2
$ tar xjvf texte.tar.bz2

Auch zum Komprimieren und Entpacken von ZIP-Dateien bieten moderne Unix-Varianten Kommandozeilentools.

zip Archivdatei Dateimuster ...

verpackt die angegebenen Dateien und Ordnerstrukturen in die gewünschte Archivdatei. Mit

unzip Archivdatei

können Sie sie wieder entpacken.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück




Copyright © Rheinwerk Verlag GmbH 2013
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de


  Zum Katalog
Zum Katalog: IT-Handbuch für Fachinformatiker






IT-Handbuch für Fachinformatiker
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Katalog: Linux Handbuch






 Linux Handbuch


Zum Katalog: Computer Netzwerke






 Computer Netzwerke


Zum Katalog: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


Zum Katalog: Windows 8.1 Pro






 Windows 8.1 Pro


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo