Warum beginnt man in der ASCII-Tabelle mit 0 und endet mit 127 anstatt bei 1 zu beginnen und mit 128 zu enden?

...komplette Frage anzeigen

3 Antworten

In der Informatik wird grundsätzlich null-basierend gezählt.

Das hat zum Beispiel auch den Ursprung in der Adressierung:

nehmen wir mal an wir haben im Computer irgendwo die Ascii-Tabelle abgelegt. Sagen wir mal spaßeshalber Adresse 0x123. So, um nun das erste Zeichen zu Adressieren schrieb man 0x123+(0x0). Also Adresse 123 Hex plus eine unsichtbare 0, denn wenn ich weiß WO etwas beginngt und ich will das erste Zeichen wissen, dann schreibe ich doch auch nur die Adresse hin! Wenn man beispielsweise das Leerzeichen wollte, dann schrieb man 0x123+0x20. Also man hat zu der Adresse 0123 noch 32 (=0x20) hinzuaddiert.

Deshalb benutzt man grundsätzlich immer 0-basierende Adressen. Und zwar in der ganzen Informatik!

Der Rechner intern berechnet übrigends die physikalischen Adressen genauso aus! :

https://electures.informatik.uni-freiburg.de/portal/download/100/7974/kap8_3_systeme1_ws07.pdf#page=35

schau mal auf Seite 35 vorbei.

ich hoffe ich konnte dir helfen.

Antwort bewerten Vielen Dank für Deine Bewertung

Man hat für das ASCII-Zeichen 7 Bit zur Verfügung (2^7 = 128). Wenn man das letzte Zeichen mit dezimal 128 kodieren würde, dann wäre das binär 1000 0000, man bräuchte also 8 Bit. Das 8. Bit wiederum wird im ASCII-Code aber für andere Sachen benutzt.

Antwort bewerten Vielen Dank für Deine Bewertung

In der Wissenschaft beginnt immer alles bei 0 (nur vor über 500 Jahren begann man bei 1 zu zählen).

Gerade in der Computertechnik beginnt jedes Array bei 0 (nur alte BASIC Interpreter hatten die Voreinstellung "mit 1 beginnen")

Byte hat 8 Bits und die ersten Computer nutzten die vorderen Bytes (0...32) für Befehle an das Ausgabegerät (auch Drucker) wie: Zeilenvorschub, TAB, Cursor nach links usw.)

Das erste Zeichen, was in fast jeder Schriftart richtig interpretiert wird, ist 

"!" = 33 = 0x21 (hex) siehe:

http://birkenhake.org/magister/Data/Images/Dittrich1992S664.jpg

bis  etwa ~ = chr(126) kann man diese Zeichen auch in E-Mails sicher nutzen.

(Taste ALT gedrückt halten und rechts am Ziffernblock 0126 )

Danach interpretiert fast jedes Programm die Zeichen anders!

Um sicher zu gehen, dass LINKS (URL beim Browser) auch auf allen PCs der Welt erkannt werden, sollte man URI-Befehle verwenden:

"über daß" wird nach URI-Befehlen zu

"%C3%BCber%20da%C3%9F"

Achtung: Einige Matrix- oder QR-Code-Scanner leiten den gescannten kompletten Byte-Code ungefiltert weiter an PC oder Handy, d.h. man erlebt gefährliche Situationen, da hiermit auch Befehle wie " Löschen" übertragen werden...

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Omnivore07
08.11.2015, 20:22

Das erste Zeichen, was in fast jeder Schriftart richtig interpretiert wird, ist 

"!" = 33 = 0x21 (hex) siehe:

hey, du unterschägst ja das Leerzeichen ^^ (=0x20)

1

Was möchtest Du wissen?