Wikipedia · einfach zusammengefasst · Stand
Code
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“ …
Inhalt5 Abschnitte
Grundidee und Bedeutung
Ein Code oder Kode ist eine Abbildungsvorschrift: Jedem Zeichen eines Zeichenvorrats, der Urbildmenge, wird eindeutig ein Zeichen oder eine Zeichenfolge eines möglicherweise anderen Zeichenvorrats, der Bildmenge, zugeordnet. Codewörter sind die Elemente, aus denen ein Code besteht; die Symbole, aus denen Codewörter gebildet werden, heißen Alphabet.
Codes ermöglichen Informationsaustausch. Ein Absender erzeugt eine Nachricht nach einem Code, ein Empfänger interpretiert beziehungsweise dekodiert sie nach demselben Code. Information liegt dabei nicht „rein“ vor, sondern immer in einer Formulierung. Die verwendeten Zeichen folgen syntaktischen Regeln für ihre Form, semantischen Regeln für ihre Bedeutung und pragmatischen Regeln für ihre Verwendung.
Dazu braucht es mindestens einen Sender oder Aufzeichner, einen Empfänger oder Lesenden, einen zu übermittelnden konkreten oder abstrakten Inhalt sowie eine beiden Seiten bekannte Vereinbarung über Symbole und gegebenenfalls deren Verwendung. Sender und Empfänger können ausnahmsweise identisch sein. Menschliche Sprache, Tierlaute sowie semiochemische Moleküle bei Bakterien- und Pflanzenkommunikation, etwa Auxin, können Codes verschiedener Komplexität und Kapazität sein. Bei Tier-, Bakterien-, Pilz- und Pflanzenkommunikation ist die zugrunde liegende „Vereinbarung“ durch natürliche Evolution entstanden.
Elektronische Daten bestehen beispielsweise aus Bits, also Nullen und Einsen. Welche Bedeutung eine Bitfolge hat, legt ein Code fest: 01100001 kann für den Buchstaben „a“ stehen, in einem anderen Code aber etwa für die Zahl 97. Codes bestimmen ebenso die Bedeutung von Messwerten oder Nukleinbasen in DNA-Strängen.
Formale Definition und Entzifferbarkeit
Ein Code über den Alphabeten A und B ist eine injektive Abbildung, also eine Codierung, c: A → B⁺. Sie ordnet jedem Symbol aus A ein nichtleeres Wort über B zu. Injektiv bedeutet: Verschiedene Symbole aus A erhalten verschiedene Codewörter. Die Bildmenge c(A) besteht aus den Codewörtern.
Die Erweiterung eines Codes c ist die Abbildung c*: A⁺ → B⁺ mit c*(a₁ … aₙ) = c(a₁) … c(aₙ). Ein Wort aus dem Alphabet A wird somit codiert, indem seine einzelnen Symbole nacheinander durch ihre Codewörter ersetzt werden.
Ein Code ist sofort entzifferbar, wenn kein Codewort der Anfangsabschnitt eines anderen Codewortes ist. Dann lässt sich beim Lesen einer codierten Folge unmittelbar erkennen, wo ein Codewort endet. Eindeutig entzifferbar heißt ein Code, wenn seine Erweiterung c* injektiv ist: Jede codierte Folge gehört zu genau einer ursprünglichen Folge. Jeder sofort entzifferbare Code ist eindeutig entzifferbar; umgekehrt gibt es eindeutig entzifferbare Codes, die nicht sofort entzifferbar sind.
Effizienz und Redundanz
Im üblichen engeren Sinn ist ein Code eine Vereinbarung über Symbole zwischen Sendern und Empfängern, die häufige Botschaften effizient vermitteln soll. Er soll Informationen mit geringem Energie- und Zeitaufwand sowie sicher und zuverlässig aufzeichnen oder übertragen. Dazu ersetzt ein Code die ursprüngliche Information durch Verweise, also Codewörter. Der Vorrat dieser Verweise muss Wiedererkennbarkeit und Unterscheidbarkeit gewährleisten, damit keine Irrtümer entstehen.
Oft arbeitet ein Code als Baukastensystem: Häufige Verweise werden durch kurze, seltene durch längere Kombinationen dargestellt. Einfache Zeichen können dadurch in vielen verschiedenen Codewörtern wiederverwendet werden. Je häufiger etwas verwendet wird, desto geringer sollte der Aufwand für seine Verarbeitung sein. Eine Verringerung der Komplexität steigert die Effizienz, verringert aber auch die Kapazität des Codes.
Ein Code wird besonders effizient, wenn er wiederholt verwendet wird. Seine Verständlichkeit setzt beim Empfänger Vorbereitung, zum Beispiel Lernen, voraus. Deshalb werden Codes zu Bestandteilen von Kulturen und Systemen, etwa Landessprachen oder technischen Standards, und sind oft gegenüber Änderungen beharrlich. Energieminimierung ist besonders wichtig bei großen Entfernungen, großen Zeitspannen, vielen Empfängern, Notsituationen oder bei Übertragungen durch andere Systeme. In der Nachrichtentechnik heißt die entsprechende Kodierung Quellenkodierung. Niklas Luhmann verwendet „Codes“ als Fachbegriff für standardisierte Differenzen, die Leitdifferenz.
Redundanz bedeutet, dass eine codierte Symbolfolge überflüssige Anteile enthält. Solche Daten sind nicht unmittelbar zum Ziel nötig; bei falscher Dekodierung können sie jedoch ein widersprüchliches Ergebnis liefern. Die einfachste Form ist Wiederholung. Auch erhöhte Vorhersagbarkeit ist Redundanz: Im Schriftdeutschen sind die u nach q redundant, weil auf ein q immer ein u folgt. Redundanz hilft, Informationen trotz teilweisen Datenverlusts noch zu entziffern, und macht Verfälschungen erkennbar. In der Nachrichtentechnik wird dies Kanalkodierung genannt.
Anwendungsbeispiele und Fehlererkennung
Der Morsecode ordnet Buchstaben Folgen kurzer und langer Tonsignale sowie Pausen zu und stellt auch die umgekehrte Beziehung her. Der genetische Code regelt bei der Proteinbiosynthese die Übersetzung von Informationen der DNA/RNA in Aminosäuresequenzen. Sprache und Schrift sind gesellschaftliche Codesysteme; in der Soziolinguistik ist ein Code ein Merkmal verbaler Kommunikation, der Soziolekt.
Weitere Codes sind IATA- und ICAO-Codes in der Luftfahrt, Klopfcodes für Textnachrichten in Notfällen, die „List of Paris MoU deficiency codes“ zur rechtssicheren Beschreibung bestimmter Schiffsmängel sowie ICD-10 in der Medizin. ISO-4217-Codes sind Abkürzungen für Währungen. In Warenwirtschaft und Logistik stellen Strichcodes Informationen durch verschieden breite schwarze und weiße Streifen dar; neuere Nachfolger sind 2D-Codes wie der QR-Code. In der Videotechnik werden Farbinformationen, beispielsweise im YUV-Farbmodell, kodiert und gegebenenfalls komprimiert.
Fehlererkennende Codes verwenden in der Informationstechnik Prüfzeichen. Sie können Übertragungs- oder Eingabefehler erkennen, sind aber weder allgemein für automatische Fehlerkorrektur noch zur Abwehr von Fälschungen geeignet. Die International Standard Book Number (ISBN) identifiziert Bücher eindeutig und ist ein fehlererkennender Code. Dasselbe gilt für die International Standard Serial Number (ISSN) zur Identifizierung von Zeitschriften und Schriftenreihen sowie für EAN.
Geheimcodes, Informatik und Psychologie
Die bisher beschriebenen Codes sind offene Codes: Ihre Abbildungsvorschrift ist öffentlich allgemein bekannt. In der Kryptologie heißen Geheimcodes dagegen Verfahren, bei denen etwa geheime Codebücher Klartextausdrücken bestimmte Geheimtexte zuordnen. Ihr Zweck ist die Verschlüsselung. Ein Beispiel ist die Zimmermann-Depesche; ihre Verschlüsselung war nicht ausreichend stark und konnte gebrochen werden, was zum Eintritt der Vereinigten Staaten in den Ersten Weltkrieg beitrug.
In Computern stellt ASCII (American Standard Code for Information Interchange) Buchstaben, Ziffern und Satzzeichen als Bitfolgen dar; es ist ein Binärcode. Der Unicode-Standard umfasst heute nahezu alle Zeichensysteme der Welt. Beim Programmieren werden Vorgaben zu Algorithmen in Quelltext nach der Syntax einer Programmiersprache übersetzt. Im Verlauf der Programmentwicklung kann daraus weiterer Programmcode entstehen, etwa Zwischencode wie Bytecode. Der Maschinencode enthält schließlich die Maschinenbefehle, die ein Prozessor ausführen kann. Weitere Beispiele sind Telegrafencodes wie der Morsecode, Leitungscodes in der Datenübertragung und Geekcode in E-Mails oder im Usenet.
In der Psychologie umfasst Encodierung alle Prozesse, in denen ein Individuum externe Informationen verarbeitet und daraus eine subjektiv bedeutungsvolle mentale Repräsentation bildet. Bei der Gedächtnisspeicherung wird zwischen automatischer und aktiver sowie semantischer und visueller Encodierung unterschieden. Automatische Encodierung geschieht unbeabsichtigt und weitgehend unbewusst, aktive willentlich und bewusst. Semantische Encodierung bedeutet bei Wort- oder Vokabellisten, dass vor allem Inhalt und Bedeutung erinnert werden. Visuelle Encodierung führt dazu, dass Informationen eher visuell oder akustisch erinnert werden. Weiterverarbeitet werden nur Informationen, die die selektive Wahrnehmungsbarriere überschritten haben. Encodierung ist neben Konsolidierung ein Prozessschritt des Lernens und der Aufnahme von Sinneswahrnehmungen ins Gedächtnis.
Lernvideos zu Code
4:01
Genetischer Code - Code Sonne / Gensonne & Eigenschaften - Der genetische Code einfach erklärt
Die Merkhilfe · 355.621 Aufrufe
5:38
Genetischer Code - Beispielaufgaben + Lösungen Code Sonne / Gensonne (Klausuren, Abitur, Prüfungen)
Die Merkhilfe · 321.087 Aufrufe
8:34
Die nervigsten Wirtschaftsmythen entlarvt | Marcel Fratzscher | DE/CODED | Terra X Lesch & Co
Terra X Lesch & Co · 165.374 Aufrufe
5:01
ASCII Code / ASCII Tabelle - Verständliche Erklärung auf Deutsch
Studyflix · 160.247 Aufrufe