Jetzt wird es schon etwas grösser und schwieriger. Aber man will ja nicht nur Rechnen mit Computern, sondern auch schreiben. Wie wir beim Bit gelernt haben, kennen Computer eigentlich nur 1 und 0. Die Herausforderung ist also, Buchstaben als Nullen und Einsen auszudrücken. Hierfür braucht man eine Codierungstabelle.
In der Geschichte der Computer gab es verschiedene Ansätze für derartige Code, und teils favorisierten verschiedene Hersteller auch verschiedene Codes. Der bekannteste, der sich dann auch durchsetzte, ist ASCII. ASCII kann alle Buchstaben von A bis Z und alle Zahlen von 0 bis 9 in 7 Bit darstellen. Für Amerikaner war das ausreichend, sie kannten (und kennen bis heute) keine Sonderzeichen.
An der Stelle muss angemerkt werden, dass vieles in der IT sich immer verdoppelt. Nachdem man einen Computer mit 1 Bit gebaut hat, baut man halt einen mit 2, indem man «das Gleiche doppelt» macht – das ist natürlich vereinfacht, aber einprägsam, daher kann man es sich so vorstellen. Nach 2 Bit baut man halt einen mit 4, und danach mit 8 und dann – Hoppla, jetzt haben wir nie einen Computer mit 7 Bit gebaut. Sowas! Daher hat ein Byte 8 Bit und nicht 7, obwohl für ASCII 7 Bits gereicht hätten. Ein Bit ist unbenutzt. Was für ein Glücksfall für den Rest der Welt.
Denn auch die Speichermöglichkeiten verdoppeln sich mit jedem Bit. Ein Bit kann 2 Werte speichern, wie wir schon gelernt haben, 0 und 1. 2 Bit können schon 4 Werte speichern und so weiter. Wenn wir 8 Bit haben, aber ASCII nur 7 braucht, dann bleiben exakt 128 ungenutzte Speichermöglichkeiten übrig.
Diesen ungenutzten Speicherplatz hat z. B. Westeuropa in seinem Code ISO 8859-1 (auch bekannt als Latin 1) benutzt, um seine Sonderzeichen (äüöéèà usw.) speichern zu können, welche im ursprünglichen ASCII nicht enthalten waren.
Also ist ein Byte ein CHAR?
Viele Programmiersprache kennen den Datentyp CHAR, welches exakt einen Buchstaben abbildet. Man könnte also annehmen, dass ein CHAR exakt 1 Byte auf der Festplatte belegt – und so war es in DOS Zeiten auch tatsächlich. Sein der UNICODE erfunden wurde, können es aber auch 32 Bit (oder 4 Byte) sein. Einige Programmiersprachen weisen dies explizit aus, in dem sie den Datentyp als NCHAR bezeichnen, andere tun dies nicht.