Gibt es eine Logik dafür, warum im binären Alphabet a = 01000001 und dasselbe mit den anderen Buchstaben ist, oder hat jemand diese Zahlenfolge zufällig ausgewählt, um a darzustellen?


Beste Antwort

Ja, das gibt es.

Der untere Teil des 8-Bit-Bereichs ist für Steuercodes reserviert. Insbesondere kann 00000000 keinem Textzeichen zugewiesen werden, da eine leere Lochkarte bedeuten soll, na ja … nichts. Außerdem ist es schön, einen Fehler durch Stanzen einer ganzen Zeile beseitigen zu können, sodass 11111111 dem Steuercode DELETE zugewiesen wird. In Kombination mit der Tatsache, dass Textzeichen aus Gründen der Abwärtskompatibilität in 7 Bit passen müssen, bedeutet dies Das obere Ende des Bereichs wird auch für Steuercodes reserviert.

Daher müssen alphabetische Zeichen irgendwo in der Mitte stehen. Es wäre praktisch, wenn Sie durch Umdrehen eines einzelnen Bits zwischen Groß- und Kleinschreibung konvertieren könnten. Dies bedeutet, dass Groß- und Kleinbuchstaben durch einen Bereich von 32 getrennt werden müssen (die kleinste Potenz von zwei Zeichen größer als 26). Es ist auch praktisch, wenn Buchstaben in einem Fall zusammenhängend sind und Interpunktionszeichen an den Enden in den 6 Codepunkten, die Sie in jedem 32-Zeichen-Bereich gelassen haben, gruppiert sind, und wenn die Reihenfolge der Codepunkte für alphabetische Zeichen mit ihrer traditionellen alphabetischen Reihenfolge übereinstimmt. Noch praktischer wäre es, wenn Sie ein alphabetisches Zeichen mit einer einfachen Bitmaske in seine numerische alphabetische Position konvertieren könnten.

All dies schränkt die Möglichkeiten, wo Sie die alphabetischen Zeichen starten können, stark ein. Aus diesem begrenzten Bereich von Möglichkeiten wurde 65 oder 0100001 für A ausgewählt, und 97 oder 01100001 wurde aus historischen Gründen für a (und nicht umgekehrt) ausgewählt, um rückwärts zu bleiben Kompatibilität mit alten 5-Bit-Nur-Großbuchstaben-Textsystemen, bei denen A tatsächlich Codepunkt 1 (00001) zugewiesen ist, wodurch die Konvertierung zwischen Codierungen durch einfaches Hinzufügen oder Abschneiden eines Präfixes ermöglicht wird.

Antwort

Welches „binäre Alphabet“? Meinst du ASCII? Denn wenn Sie dies tun, ist „a“ nicht gleich 0100 0001. Ein Großbuchstabe „A“ entspricht 0100 0001. Das ASCII-Zeichen für „a“ ist 0110 0001. Wenn Sie „a“ in EBCDIC schreiben möchten, z Beispiel: 1000 0001 und A 1100 0001.

Die ersten 32 Zeichen in der ASCII-Tabelle sind nicht druckbare Steuerzeichen, die ursprünglich zur Steuerung der Hardware verwendet wurden – z. 0000 0111 heißt BEL, weil damit die Glocke der alten elektromechanischen Fernschreibmaschinen betätigt wurde, für die ASCII ursprünglich erfunden wurde. Gedruckte Zeichen begannen erst mit der ASCII-Dezimalstelle 33, wobei die Interpunktionszeichen zuerst (!), Dann Ziffern, dann Großbuchstaben und dann Kleinbuchstaben waren und mit der DEL-Taste bei ASCII 127 endeten, dem obersten Ende der 7 Bits, die dabei verwendet wurden Zeit.

Also nein, jemand hat nicht „zufällig eine Reihe von Zahlen ausgewählt“, es war ein Standard, der 1960 von der American Standards Association (jetzt ANSI) ausgearbeitet wurde und auf bereits vorhandenen Telegraphencodes basiert. Dieser Standard wurde weiter aktualisiert und erweitert, aber die ersten 128 Zeichen und Steuerelemente wurden nie geändert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.