Code

Ein Code oder Kode (deutsche Aussprache [koːt]) ist eine Abbildungsvorschrift, die jedem Zeichen eines Zeichenvorrats (Urbildmenge) eindeutig ein Zeichen oder eine Zeichenfolge aus einem möglicherweise anderen Zeichenvorrat (Bildmenge) zuordnet. 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“.

Allgemeine Bedeutung

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

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.

Effizienz

In der spezifischeren, üblichen Bedeutung ist ein Code eine Vereinbarung über einen Satz von Symbolen (Verweisen), etwa 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:

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:

In der Nachrichtentechnik spricht man von der Quellenkodierung.

Redundanz

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

Fehlererkennende Codes

Geheimcodes

Informatik

Siehe auch

Literatur

Trenner
Basierend auf einem Artikel in: Extern Wikipedia.de
Seitenende
Seite zurück
©  biancahoegel.de
Datum der letzten Änderung: Jena, den: 02.12. 2023