Serialisierung

Unter Serialisierung versteht man die Umwandlung eines Datenobjekts in eine speicherbare Form.

Der Begriff taucht vor allem beim Programmieren auf und ist dann relevant, wenn der Inhalt von komplexen Variablen und Objekten in Dateien gespeichert und geladen werden soll. Auch beim Übertragen von Strukturen zu einem anderen Computer kommen Serialisierungsmechanismen zum Einsatz, zum Beispiel bei der Kommunikation mit einem Webserver.

Beispiel: Folgende C#-Klasse beschreibt eine Person:

class Person
{
    public string vorname;
    public string nachname;
    public int alter;
}

Nun werden konkrete Instanzen von dieser „Datenschablone“ erzeugt, z.B.:

Person spieler = new Person();
spieler.vorname = "Max";
spieler.nachname = "Mustermann";
spieler.alter = 21;

Das Problem ist nun, dass sich diese Information zunächst nur im Arbeitsspeicher des Computers befindet und nur das laufende Programm weiß, dass die Teile "Max", "Mustermann" und 21 nach dem Muster der Klasse Person zusammengehören.

Will man diese Spielerdaten nun speichern, so werden ausschließlich die Inhalte – "Max", "Mustermann" und 21 – gesichert.

Damit das Computerprogramm aber überhaupt weiß, welche Informationen geschrieben werden sollen, sind entsprechende Regeln und Anweisungen nötig. Dies ist die Aufgabe des Serialisierers. Das Ergebnis der Umwandlung der Person-Datenstruktur im Arbeitsspeicher in eine Form, die sich in einer Datei speichern lässt, kann zum Beispiel so aussehen:

<Person>
  <vorname>Max</vorname>
  <nachname>Mustermann</nachname>
  <alter>21</alter>
</Person>

Dieser Textblock im XML-Format lässt sich einfach in eine Textdatei speichern und daraus wieder lesen. Die XML-Elemente (in ’spitzen Klammern‘) markieren in diesem Beispiel die Datenstruktur, die durch entsprechenden Programmcode interpretierbar ist.

Das Gegenteil der Serialisierung (Speichern) heißt Deserialisierung (Laden), also das Umwandeln der speicherbaren Form in die Arbeitsspeicherdarstellung.

Ähnliche Einträge

Werbung

So wird's gemacht

Im C#-Programmierkurs zeige ich Dir Schritt für Schritt, wie dieses Thema in der Praxis funktioniert. Mehr dazu...

Dr. René Bühling

Hi, mein Name ist René und ich möchte Dir dabei helfen, deinen Traum vom eigenen Computerspiel Wirklichkeit werden zu lassen. Mein erstes kommerziell veröffentlichtes Spiel habe ich Mitte der 1990er Jahre als Hobby-Projekt mit einem Basic-Dialekt unter Windows entwickelt. Seither verfolge ich das Thema Spieleentwicklung in Hobby, Studium und Beruf. Ich habe über 20 Jahre Erfahrung in allen Phasen des Entwicklungsprozesses, die ich gerne mit dir teilen möchte.