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:
- mindestens eine informationsformulierende Instanz (Aufzeichner/Sender)
- mindestens eine informationsempfangende Instanz (Lesender/Empfänger) – kann in Ausnahmen auch identisch mit (1) sein
- ein zu übermittelnder, konkreter oder abstrakter Inhalt, die Information
- 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 und ist eine injektive Abbildung (= Codierung)
- ,
die Symbolen des Alphabets nichtleere Wörter über dem Alphabet zuordnet. Die Elemente der Bildmenge werden Codewörter des Codes genannt. Als Erweiterung eines Codes bezeichnet man die Abbildung definiert durch
- ,
wobei ein Wort über dem Alphabet ist. Ein Code heißt sofort entzifferbar, wenn bei ihm kein Codewort als Anfangsabschnitt eines anderen Codewortes auftritt. Er heißt eindeutig entzifferbar, wenn seine Erweiterung 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:
- 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.
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
- In der Biologie ist der genetische Code eine Regel, nach der während der Proteinbiosynthese die Informationen der DNA/RNA in Aminosäuresequenzen übersetzt werden
- In der Gesellschaft sind Sprache
und Schrift als Codesysteme zu
betrachten
- In der Sprache selbst wiederum ist ein Code ein Merkmal der verbalen Kommunikation; in der (Soziolinguistik) der Soziolekt
- In der großen Luftfahrt werden IATA-Codes und ICAO-Codes benutzt
- Unter Anderem in der Warenwirtschaft und Logistik werden verschiedene Codes, so genannte Strichcodes, verwendet, mithilfe derer Informationen über Waren und dergleichen in einer Folge verschieden breiter schwarzer und weißer Streifen („Strichen“) dargestellt werden. Inkorrekt werden im allgemeinen Sprachgebrauch auch die Streifenfolgen selbst als „Strichcode“ bezeichnet. Neuzeitliche Nachfolger sind so genannte 2D-Codes, z.B. der QR-Code.
- Kodierung in der Medizin nach ICD-10
- In der Videotechnik werden Farbinformationen kodiert (z.B. YUV-Farbmodell) und ggf. mit einem auf den Farbraum abgestimmten Verfahren komprimiert, vereinfacht Videokodierung genannt.
Fehlererkennende Codes
- Die International Standard Book Number (ISBN) dient zur eindeutigen Identifizierung von Büchern und stellt einen fehlererkennenden Code dar
- Die International Standard Serial Number (ISSN) dient zur eindeutigen Identifizierung von Zeitschriften und Schriftenreihen; sie stellt ebenfalls einen fehlererkennenden Code dar
- EAN als fehlererkennender Code
Geheimcodes
- Mit monoalphabetischer Verschlüsselungwerden Buchstaben durch andere Buchstaben ersetzt. Aber auch mit komplexeren Verfahren verschlüsselte Daten werden umgangssprachlich häufig als Code oder Geheimcode bezeichnet.
Informatik
- Im Computer wird unter anderem der ASCII (American Standard Code for Information Interchange) benutzt, um Buchstaben, Ziffern und Satzzeichen durch Bitfolgen darzustellen – ein sogenannter Binärcode. Der Unicode-Standard umfasst heute nahezu alle Zeichensysteme der Welt.
- Beim Programmieren übersetzt der Programmierer die Vorgaben zu Algorithmen in einen Quelltext, der gemäß der Syntax einer bestimmten Programmiersprache formuliert ist und der im Zug der weiteren Entwicklung eines Computerprogramms in weitere Formen von Programmcode übersetzt wird – wie Zwischencode (z.B. Bytecode). Der final entstehende Maschinencode enthält die Maschinenbefehle, die ein Prozessor ausführen kann.
- In der Datenübertragung benutzt man Leitungscodes.
Siehe auch
- Chiffres: Geheimtext
- Verschlüsselung
Literatur
- 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-11-016727-1.
© biancahoegel.de
Datum der letzten Änderung: Jena, den: 02.12. 2023