gf1:code

Dies ist eine alte Version des Dokuments!


Code

Ein Code ist im eigentlichen Sinn nichts anderes, als eine Vorschrift, wie Informationen bzw. Signale oder Zeichen ( in Form von Texte, Bilder, Musik, usw) in etwas anderes abgebildet werden und damit auch eindeutig wieder zurückgebildet werden können. Beispiele von Code könnte die Brailleschrift (Blindenschrift) sein.

Für die Kommunikation mit dem Computer werden die Informationen (Signale) ins Binäre übersetzt. Der Vorteil von Codes ist, dass wir dadurch Informationen digital, das heisst mithilfe des Computers und so viel zeitsparender und exakter verarbeiten können. Wichtig ist hierbei natürlich, dass die Übersetzung eindeutig in beide Richtungen (ins Binäre und zurück), funktioniert.

In dieser Einführung schauen wir uns das Prinzip des Codes anhand des ASCII-Codes und des Unicodes an, die es beide ermöglichen, Texte (also Zeichen und Buchstaben) ins Binäre zu übersetzen und umgekehrt.

Der ASCII-Code, Texte digital abspeichern und aus Code wieder Texte generieren

Da das Speichern von Information im Computer binär (mit Null und Eins) aufgebaut ist, braucht es irgendeine Art Übersetzungscode, um Texte, Bilder, Töne oder ganze Filme darauf abspeichern zu können. Für das Speichern von Texten wurde 1963 erstmals der sogenannte ASCII-Code (American Standard Code for Information Interchange) erfunden. Der ASCII-Code ist im Wesentlichen nichts anderes als eine Tabelle, die jedem Zeichen im englischen Alphabet einen binären Zahlenwert zuordnet. Wenn ein Text auf einem Datenträger abgespeichert werden soll, wird entsprechend jedes Zeichen (inklusive Leerzeichen und Satzzeichen) durch den jeweiligen achtstelligen binären Code ersetzt. Da man mit der ASCII-Tabelle jedem Zeichen in einem Text genau 8 Bit (also 1 Byte) zuordnet, gibt es nur 256 verschiedene Zeichen, die man auf diese Weise abspeichern kann.

Ursprünglich (in der ersten offiziellen Version von ASCII) wurden die Zeichen mit nur 7 Bit verschlüsselt (128 verschiedene Zeichen). Das achte Bit wurde zuerst als Kontrollbit verwendet und später dazu genommen, um die Anzahl möglicher Zeichen zu erweitern. Die hier vorgestellte Version ist eine 8 Bit Variante mit erweitertem Zeichensatz (Mircrosoft). ascii_3.jpg

Als Beispiel hier „Informatik!“ zuerst ins Dezimale, oder noch besser direkt ins Binäre übersetzt, mit Hilfe des ASCII-Codes.

Text I N F O R M A T I K !
Dezimalzahl 73 78 70 79 82 77 65 84 73 75 33
Binärzahl 0100 1001 0100 1110 0100 0110 0100 1111 0101 0010 0100 1101 0100 0001 0101 0100 0100 1001 0100 1011 0010 0001

Ausgeschrieben würde „Informatik!“ wie folgt aussehen: 0100100101001110010001100100111101010010010011010100000101010100010010010100101100100001

Jedes Zeichen benötigt genau 8 Bit = 1 Byte Speicherplatz, falls nicht noch sonstige Formatierungen an diesem Textstück vorgenommen werden. Dann können wir annehmen, dass dieser Text („Informatik!“), der aus 11 Zeichen besteht, genau 88 Bit = 11 Byte Speicherplatz benötigen.

Auftrag 24
Studieren Sie den folgenden Ausschnitt der ASCII-Tabelle und übersetzen Sie den Text „Informatik macht Spass“ ins Binäre.

Unicode

Der ASCII-Code unterstützt leider nicht jedes beliebige Alphabet (jede beliebige Sprache), das es gibt. Dies liegt daran, dass der ASCII-Code 1963 für das englische Alphabet entwickelt worden ist. In anderen Sprachen gibt es andere Sonderzeichen oder gar Buchstaben als in diesem ursprünglichen ASCII – Code festgelegt. Somit wurden aufgrund der Bedürfnisse der anderen Sprachen später weitere ähnliche Codes entwickelt, wie zum Beispiel der Unicode (im Jahr 1991), mit dem alle Schriftzeichen allermeisten bekannten Sprachen und Alphabete (wie Chinesisch, Arabisch, Hebräisch, …) dargestellt werden können. Damit das funktioniert, braucht man im Unicode für gewisse Zeichen mehr als 8 Bit. Deswegen haben Texte, die mit Unicode codiert werden, in der Regel auch einen etwas höheren Speicherbedarf.

Auftrag 25
Lösen Sie das folgende Quiz! Auftrag 26
Lösen Sie diese Aufgabe auf OneNote, dort finden Sie auch eine ASCII-Tabelle. Der Satz, der übersetzt werden soll, lautet: «Heute haben wir Schule!»

  1. Übersetzen Sie den Satz mit Hilfe der ASCII-Tabelle in das dezimale Zahlensystem (inklusive Leerschläge und !). Es hilft sehr, eine Tabelle wie im Beispiel dafür zu erstellen.
  2. Übersetzen Sie den Text auch ins Binäre. Um fit zu bleiben, berechnen Sie zwei Zeichen, von welchen Sie ja den dezimalen Zahlwert haben, ins Binäre um.
  3. Berechnen Sie den Speicherbedarf in Bits (Abk. b) und in Bytes (Abk. B) des Satzes.
  4. Der folgende Code ist ein Satz, der im Binären geschrieben und bereits ins Dezimale übersetzt wurde. Was wurde geschrieben? Übersetzen Sie den codierten Text in sog. Klartext. 34 65 108 108 101 114 32 65 110 102 97 110 103 32 105 115 116 32 115 99 104 119 101 114 33 34

Lernziele

  • Ich kann den Begriff Code anhand eines Beispiels in eigenen Worten erklären.
  • Ich kann den ASCII-Code in eigenen Worten erklären und erläutern, wie man damit einen Text ins Binäre oder Dezimale übersetzen kann. Ich kann dies auch selbst durchführen.
  • Ich kann die ungefähre Speichergrösse von kurzen Texten abschätzen und dies erklären.

Zusatzaufgaben

Zusatzauftrag Z1

  • Starten Sie Excel.
  • Markieren Sie die ganze Tabelle, indem Sie auf die linke obere Ecke der Tabelle klicken. Stellen Sie die Spalten auf eine geringere Breite ein.
  • Verschieben Sie dazu mit gedrückter linker Maustaste die Trennlinie im Spaltenkopf.
  • Geben Sie in jede Zelle der obersten Zeile einen Buchstaben ein. Leerzeichen auch tippen! Wir geben den Text „Morgenstund hat Gold im Mund!“ ein!

  • Die Excel-Funktion, welche den ASCII-Code eines Zeichens liefert heisst CODE(Zelle). Geben Sie in der Zelle A3 die Formel ein: =CODE(A1). Füllen Sie die Zellen rechts davon mit der Formel aus, indem Sie mit gedrückter Maustaste die fett markierte Ecke der Zelle nach rechts ziehen.
  • Die Excel-Funktion, welche das zugehörige Zeichen zu einem ASCII-Code liefert, heisst ZEICHEN(Zelle)! Auf Französisch heisst diese Funktion CAR(Cellule). Geben Sie in die Zelle A5 die Formel ein: =ZEICHEN(A3) - respektive auf Französisch: =CAR(A3). Füllen Sie wiederum die Zellen rechts davon mit der Formel aus.
  • Sie sollten nun wieder den Ausgangstext erhalten!

Zusatzauftrag Z2

  • Senden Sie Ihrem Pultnachbarn per Email eine geheime Botschaft per Email.
  • Geben Sie die Botschaft Zeichen für Zeichen in eine Excel Tabelle ein!
  • Ermitteln Sie den dezimalen Wert der Botschaft mit der entsprechenden Formel.
  • Addieren Sie bei jeder Zelle eine konstante Zahl dazu (zum Beispiel überall + 5)
  • Senden Sie den dezimalen Code, den Sie erhalten Ihrem Pultnachbarn per Email. Dieser soll nun versuchen, den erhaltenen Code wiederum zu entschlüsseln. Verraten Sie Ihrem Lernpartner aber nicht, dass Sie überall die gleiche Zahl addiert haben. Er macht das gleiche. Knackt Ihr eure gegenseitig gesendeten Geheimbotschaften?

Zusatzauftrag Z3
Eine Überlegung ist es wert… Wenn wir einen Text mit dem ASCII-Code codieren, dann braucht er pro Zeichen eine fixe Speichergrösse. Um das Ganze zu optimieren, um Speicherplatz zu gewinnen. Überlegen Sie sich, ob Sie ein Verfahren finden, um effizienter Text speichern zu können. Nutzen Sie den Tipp unten. Suchen auf dem Netz ist erlaubt. Tipp: Sie könnten sich zum Beispiel einmal überlegen, ob jeder Buchstabe in einem Text immer gleich häufig vorkommt wie jeder andere, oder ob es irgend eine Art Verteilung gibt. Notieren Sie die Erkenntnisse kurz auf OneNote.

Zurück zur Startseite

  • gf1/code.1692161882.txt.gz
  • Zuletzt geändert: 2023/08/16 06:58
  • von marroc