Code

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel erläutert Übertragungsvorschriften; zu weiteren Bedeutungen siehe Code (Begriffsklärung).
Kodierung ist eine Weiterleitung auf diesen Artikel. Die mechanische Kodierung von elektrischen Steckverbindern ist unter Kodierung (Steckverbinder) erläutert.

Ein Code oder Kode, deutsche Aussprache [koːt][1], ist eine Abbildungsvorschrift, die jedem Zeichen eines Zeichenvorrats (Urbildmenge) eindeutig ein Zeichen oder eine Zeichenfolge aus einem möglicherweise anderen Zeichenvorrat (Bildmenge) zuordnet.[2] Beispielsweise stellt der Morsecode eine Beziehung zwischen Buchstaben und einer Abfolge kurzer und langer Tonsignale (und umgekehrt) her.

In der Kommunikationswissenschaft bezeichnet ein Code im weitesten Sinne eine Sprache. Jegliche Kommunikation beruht auf dem Austausch von Informationen, die vom Sender nach einem bestimmten Code erzeugt werden und die der Empfänger gemäß demselben Code interpretiert.

Elektronisch übermittelte oder gespeicherte Daten bestehen zum Beispiel aus einer langen Reihe von Nullen und Einsen (Bits), deren Kombination als Ziffern, Zeichen und/oder Buchstaben (z. B. '11000001' = 'A') festgelegt sind. In einem anderen Code könnte dieselbe Bitkombination z. B. die Zahl 193 bedeuten. Auch für andere Arten von Daten, z. B. Messwerte oder die Nukleinbasen in DNA-Strängen ist in Codes festgelegt, welche Erscheinungsformen was bedeuten.

In der Kodierungstheorie nennt man die Elemente, aus denen ein Code besteht, „Codewörter“, die Symbole aus denen die Codewörter bestehen, bilden ein „Alphabet“.[3]

Allgemeine Bedeutung[Bearbeiten]

Im Allgemeinen ist ein Code eine Vereinbarung über einen Satz (eine Menge) von Zeichen wie z. B. Index, Icons oder auch Symbolen (Bedeutungsträgern, oder Verweisen) zum Zweck des Informationsaustauschs. Information existiert nicht in „reiner“ Form; sie ist immer in irgendeiner Weise formuliert. Ein Code ist – allgemein ausgedrückt – eine Formulierung von Information in der die Zeichen syntaktischen, semantischen und pragmatischen Regeln unterliegen. Das setzt folgende Elemente voraus:

  1. mindestens eine informationsformulierende Instanz (Aufzeichner/Sender)
  2. mindestens eine informationsempfangende Instanz (Lesender/Empfänger) – kann in Ausnahmen auch identisch mit (1) sein
  3. ein zu übermittelnder, konkreter oder abstrakter Inhalt, die Information
  4. eine Vereinbarung zum Zweck der Informationsformulierung und gegebenenfalls Informationsübermittlung. Diese enthält einen Satz von Bedeutungsträgern oder Symbolen, der beiden Instanzen (1) und (2) bekannt ist, und gegebenenfalls Regeln zur Verwendung der Symbole

Menschliche Sprache, Tierlaute, aber auch die semiochemischen Moleküle bei Bakterienkommunikation und Pflanzenkommunikation (Auxin) sind Codes unterschiedlicher Komplexität und Kapazität. Im Falle der Tierlaute, Bakterien-, Pilz- und Pflanzenkommunikation ist die „Vereinbarung“ durch natürliche Evolution entstanden.

Definition[Bearbeiten]

Ein Code über den Alphabeten A und B ist eine injektive Abbildung (= Codierung)

c \colon A \rightarrow B^{+},

die Symbolen des Alphabets A nichtleere Wörter über dem Alphabet B zuordnet. Die Elemente der Bildmenge c(A) werden Codewörter des Codes genannt. Als Erweiterung eines Codes c bezeichnet man die Abbildung c^{\ast} \colon A^{+} \to B^{+} definiert durch

c^{\ast}(a_1 \ldots a_n) = c(a_1) \ldots c(a_n),

wobei a_1 \ldots a_n ein Wort über dem Alphabet A ist. Ein Code c heißt sofort entzifferbar, wenn bei ihm kein Codewort als Anfangsabschnitt eines anderen Codewortes auftritt. Er heißt eindeutig entzifferbar, wenn seine Erweiterung c^{\ast} injektiv ist. Jeder sofort entzifferbare Code ist auch eindeutig entzifferbar, es gibt aber auch eindeutig entzifferbare Codes, die nicht sofort entzifferbar sind.[4]

Effizienz[Bearbeiten]

In der spezifischeren, üblichen Bedeutung ist ein Code eine Vereinbarung über einen Satz von Symbolen (Verweisen) zwischen Aufzeichnenden (Sendern) und Lesenden (Empfängern), um eine effiziente Vermittlungsweise für häufige Botschaften zu etablieren. Er dient der aufwandsarmen (energie- und zeiteffizienten) und sicheren, zuverlässigen Aufzeichnung und Übertragung von Information. Dies wird je nach Art der Information und dem Anwendungsbereich unterschiedlich realisiert. Effizienz wird durch Reduzierung der Komplexität erreicht, wodurch auch die Kapazität des Codes abnimmt. Dazu werden anstelle der Information in ihrer vorliegenden Form einfachere Elemente und Kombinationen von diesen verwendet. Diese Kombinationen verweisen auf die ursprüngliche Information. Je häufiger etwas verwendet wird, desto geringer sollte der Aufwand für die Verarbeitung eines Elements sein.

Codes beinhalten zwei Aspekte von Effizienz:

  • Einerseits ersetzen sie das Ursprüngliche durch einen reinen Verweis auf dieses (das Bezeichnete wird durch das Codewort ersetzt) und benötigen daher nur einen Vorrat an Verweisen, der Wiedererkennbarkeit und Unterscheidbarkeit garantiert (Irrtumsfreiheit).
  • Zweitens benutzen sie meistens ein Baukastensystem, indem häufigere Verweise durch kurze (wenigelementige) Kombinationen und seltenere Verweise durch längere (vielelementige) Kombinationen bereitgestellt sind. Dadurch werden die einfachsten Elemente (Bauelemente, Zeichen) möglichst häufig verwendet bzw. wiederverwendet (Nämlich in fast allen Verweisen).

In einem größeren Rahmen werden Codes - unabhängig von ihrer eigenen Raffinesse - erst durch die wiederholte Verwendung als Hilfsmittel zur Informationsübertragung wirklich effizient. Denn die Verständlichkeit beim lesenden System setzt auch in diesem irgendeine vorbereitende Organisation (zum Beispiel Lernen) voraus. Codes werden daher zu einem Bestandteil von Kultur von Systemen (zum Beispiel Landessprache, technische Standards) und entwickeln eine gewisse Beharrlichkeit gegen Änderungen. Die Energieminimierung macht Codes attraktiv für die Informationsübertragung unter besonderen Bedingungen: große Entfernungen, große Zeitspannen, große Empfängerzahl, Übertragung mit minimalem Aufwand in Notsituationen, Übertragung mit Hilfe anderer Systeme, die in diesem Energie- und Strukturdynamikbereich arbeiten.

Die Effizienz kann gesteigert werden durch:

  • Die Benutzung von Verweisen, auch in anderen Bereichen, wie zum Beispiel Simulation.
  • Mehrere aufeinanderfolgende Verweise. Über eine lange Kette kann auch indirekt eine Wirkung erzielt werden.
  • Die Benutzung eines Baukastensystems, wenn hierdurch die Verwendung häufiger einfacher Elemente gefördert wird.

Niklas Luhmann benutzt den Terminus technicus Codes als Bezeichnung für standardisierte Differenzen (Leitdifferenz).

In der Nachrichtentechnik spricht man von der Quellenkodierung.

Redundanz[Bearbeiten]

Ein Code kann so aufgebaut sein, dass das Ergebnis, in das er eine Information kodiert, überflüssige, also redundante Anteile enthält. Das heißt, die erzeugte Abfolge von Symbolen enthält Daten, die nicht zum Ziel führen und wenn man sie falsch dekodiert, ein widersprüchliches Ergebnis ergeben.

Im einfachsten Fall wird dasselbe noch einmal wiederholt. Aber jede erhöhte Vorhersagbarkeit von Zeichen ist Redundanz: So sind zum Beispiel die u nach q im Schriftdeutschen alle redundant, da auf ein q immer ein u folgt. Es würde also keinerlei Information verloren gehen, wenn alle auf ein q folgenden u entfernt würden. Die Redundanz hilft einem jedoch, wichtige Informationen trotz eines partiellen Datenverlustes noch entziffern und benutzen zu können. Sie schützt also vor Informationsverlust. Zudem erlaubt sie, verfälschte Information als solche zu erkennen.

In der Nachrichtentechnik spricht man von der Kanalkodierung.

Beispiele für Codes[Bearbeiten]

Fehlererkennende Codes[Bearbeiten]

Geheimcodes[Bearbeiten]

Informatik[Bearbeiten]

Siehe auch[Bearbeiten]

Literatur[Bearbeiten]

  • Wilfried Dankmeier: Grundkurs Codierung. Verschlüsselung, Kompression, Fehlerbeseitigung. 3. überarbeitete und erweiterte Auflage. Vieweg, Wiesbaden 2006, ISBN 3-528-25399-1.
  •  Konrad Jacobs, Dieter Jungnickel: Einführung in die Kombinatorik. de Gruyter, 2003, ISBN 3-110-16727-1.
  • Ralph-Hardo Schulz: Codierungstheorie. Eine Einführung. 2. aktualisierte und erweiterte Auflage. Vieweg Verlag, Wiesbaden 2003, ISBN 3-528-16419-0.

Einzelnachweise[Bearbeiten]

  1. Eva-Maria Krech et al.: Deutsches Aussprachewörterbuch. Berlin/New York 2009: Walter de Gruyter. ISBN 978-3-11-018202-6 sowie Max Mangold: Das Aussprachewörterbuch. Duden Band 6. Mannheim/Zürich 2005: Dudenverlag. ISBN 978-3-411-04066-7
  2. DUDEN Informatik 1993 ISBN 3-411-05232-5
  3. Uni Paderborn Einführung in die Kodierungstheorie [1] (PDF-Datei; 246 kB)
  4.  Jacobs, Jungnickel: Einführung in die Kombinatorik. S. 132.

Weblinks[Bearbeiten]

 Commons: Codes – Sammlung von Bildern, Videos und Audiodateien
 Wiktionary: Code – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
  • Code Knacker – Erläuterungen zu einer Vielzahl von Kodierungen