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 wird und damit auch eindeutig wieder zurückgebildet werden können. Beispiele von Code können sein die Brailleschrift (Blindenschrift)

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 mit Hilfe 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. 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 mit Hilfe 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 irgend eine 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 so abspeichern kann. Da das Speichern von Information im Computer binär (mit Null und Eins) aufgebaut ist, braucht es einen Ü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 so 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 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). Studieren Sie den folgenden Ausschnitt der ASCII-Tabelle und versuchen Sie den Text „Informatik macht Spass“ ins binäre zu übersetzten. Der Leerschlag (Space) ist auf der folgenden Tabelle leider nicht enthalten. Er hat die Nummer 32 in dezimal, also 00100000 binär.

ascii_4.pdf

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.

Unicode

Der ASCII-Code unterstützt leider nicht jedes beliebige Alphabet, 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 auf Grund der Bedürfnisse der anderen Sprachen später weitere ähnliche Codes entwickelt, wie zum Beispiel der Unicode (im Jahr 1991), mit dem alle Schriftzeichen aller meisten 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.

Aufgabe 1 Lösen Sie das folgende Quiz!

Aufgabe 2 Lösen Sie diese Aufgabe auf OneNote, dort finden Sie auch eine ASCII-Tabelle. Der Text ist «Heute haben wir Schule!»

  1. Übersetzen Sie den folgenden Text 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) dieses Textes!!
  4. Der folgende Text wurde im Binären geschrieben und bereits ins Dezimale übersetzt. Was wurde geschreiben? Ü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 erklären, wie man mit dem ASCII-Code einen binären oder dezimalen Code in Text decodieren kann
  • Ich kann die ungefähre Speichergrösse von kurzen Texten abschätzen und dies erklären

Zusatzaufgaben

Aufgabe 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!

Aufgabe 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?

Aufgabe 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.

  • gf1/code.1661615540.txt.gz
  • Zuletzt geändert: 2022/08/27 17:52
  • von lehmannr