Warum sind Buchstaben im EBCDIC nicht aufeinanderfolgend?

Der ASCII-Standard wurde 1963 angenommen, und heutzutage verwendet wahrscheinlich niemand mehr eine Kodierung, deren erste 128 Zeichen sich von ASCII unterscheiden. Dennoch wurde bis zum Ende des letzten Jahrhunderts aktiv EBCDIC verwendet – die Standardkodierung fĂŒr IBM-Mainframes und ihre sowjetischen Klone der ES EVM. EBCDIC bleibt die Hauptkodierung in z/OS – dem Standardbetriebssystem fĂŒr moderne IBM Z-Mainframes.

Was sofort ins Auge fĂ€llt, wenn man EBCDIC betrachtet, ist, dass die Buchstaben nicht aufeinanderfolgend angeordnet sind: Zwischen I und J und zwischen R und S blieben ungenutzte Positionen (auf der ES EVM wurden in diesen ZwischenrĂ€umen Zeichen des Kyrillischen verteilt). Wer könnte auf die Idee kommen, Buchstaben mit ungleichen AbstĂ€nden zwischen benachbarten Buchstaben zu kodieren? Der Name EBCDIC („Extended BCDIC“) deutet darauf hin, dass diese Kodierung – im Gegensatz zu ASCII – nicht aus dem Nichts geschaffen wurde, sondern auf der sechsstelligen Kodierung BCDIC basiert, die seit

Warum sind Buchstaben im EBCDIC nicht aufeinanderfolgend?

IBM 704 verwendet wurde. Eine unmittelbare RĂŒckwĂ€rtskompatibilitĂ€t gibt es nicht: Ein angenehmer Aspekt von BCDIC, der beim Übergang zu EBCDIC verloren ging, war, dass den Zahlen (1954):

Warum sind Buchstaben im EBCDIC nicht aufeinanderfolgend?

die Codes 0-9 zugeordnet sind. Dennoch gab es bereits Unterschiede von sieben Codes zwischen 0—9 und von acht Codes zwischen I und J in BCDIC. Woher stammen diese? R und S Die Geschichte von (E)BCDIC beginnt gleichzeitig mit der Geschichte von IBM – lange bevor es elektronische Computer gab. IBM entstand aus der Fusion von vier Unternehmen, wobei das technologisch fortschrittlichste die „Tabulating Machine Company“ war, die 1896 von Hermann Hollerith – dem Erfinder des

Tabulators – gegrĂŒndet wurde. Die ersten Tabulatoren hatten lediglich die Aufgabe, die Anzahl der an einem bestimmten Ort gestanzten Perforierkarten zu zĂ€hlen; doch 1905 begann Hollerith mit der Produktion vondezimalen Tabulatoren. Jede Karte fĂŒr den dezimalen Tabulator bestand aus Feldern beliebiger LĂ€nge, und die in diesen Feldern in ĂŒblicher dezimaler Form geschriebenen Zahlen wurden ĂŒber das gesamte Deck summiert. Die Aufteilung der Karte in Felder wurde durch die Verbindung von DrĂ€hten an der Schaltplatte des Tabulators festgelegt. Zum Beispiel ist auf dieser Perforierkarte von Hollerith, die im Kongressarchiv aufbewahrt wird, offensichtlich die Zahl 23456789012345678 eingestanzt, unbekannt wie sie auf die Felder verteilt ist: Die Aufmerksamen könnten bemerkt haben, dass die Hollerith-Karte 12 Reihen fĂŒr Löcher hat, obwohl fĂŒr Zahlen zehn ausreichen; und in BCDIC werden fĂŒr jeden Wert der oberen zwei Bits nur 12 von 16 möglichen Codes verwendet.

Warum sind Buchstaben im EBCDIC nicht aufeinanderfolgend?

Die aufmerksamsten könnten bemerkt haben, dass auf der Hollerith-Karte 12 Reihen fĂŒr Löcher vorhanden sind, obwohl fĂŒr die Ziffern zehn ausreichend sind; und in BCDIC werden fĂŒr jeden Wert der beiden höchsten Bits nur 12 Codes aus 16 möglichen verwendet.

NatĂŒrlich ist das kein Zufall. UrsprĂŒnglich hatte Hollerith zusĂ€tzliche Reihen fĂŒr „spezielle Markierungen“ vorgesehen, die nicht summiert, sondern einfach gezĂ€hlt wurden – wie bei den frĂŒhesten Tabulatoren. (Heute wĂŒrden wir sie „Bitfelder“ nennen.) Außerdem konnten unter den „spezialen Markierungen“ Gruppensignale definiert werden: Wenn bei der Tabulation nicht nur endgĂŒltige Summen, sondern auch Zwischenwerte erforderlich waren, hielt der Tabulator an, wenn er eine Änderung eines der Gruppensignale entdeckte, und der Bediener musste die Zwischenwerte von den digitalen Anzeigen auf Papier schreiben, die Anzeigen zurĂŒcksetzen und die Tabulation fortsetzen. Zum Beispiel könnte beim ZĂ€hlen von Buchhaltungsbilanzen eine Kartengruppe mit einem bestimmten Datum oder einem bestimmten Vertragspartner ĂŒbereinstimmen.

Bis 1920, als Hollerith bereits in den Ruhestand ging, wurden „druckende Tabulatoren“ eingefĂŒhrt, die an einen Telegraphen angeschlossen werden konnten und die Zwischenwerte selbst drucken konnten, ohne dass ein Eingreifen des Bedieners erforderlich war. Die Herausforderung bestand nun darin, zu bestimmen, auf was sich jede der gedruckten Zahlen bezog. 1931 beschloss IBM, „spezielle Markierungen“ zu verwenden, um Buchstaben zu kennzeichnen: Eine Markierung in der 12. Zeile bezeichnete den Buchstaben von A bis I, in der 11. Zeile von J bis R, in der Nullzeile von S bis Z. Der neue „alphatische Tabulator“ konnte den Namen jeder Kartengruppe zusammen mit den Zwischenwerten drucken; dabei wurde die nicht gestanzte Spalte in einen Leerraum zwischen den Zeichen verwandelt. Beachten Sie, dass S durch die Kombination der Löcher 0+2 gekennzeichnet ist, wĂ€hrend die Kombination 0+1 ursprĂŒnglich nicht verwendet wurde, aus Angst, dass zwei nebeneinanderliegende Löcher in einer Spalte mechanische Probleme im Kartenleser verursachen könnten.

Warum sind Buchstaben im EBCDIC nicht aufeinanderfolgend?

Jetzt kann man die BCDIC-Tabelle aus einem etwas anderen Blickwinkel betrachten:

Warum sind Buchstaben im EBCDIC nicht aufeinanderfolgend?

Bis auf die Tatsache, dass 0 und Leerraum vertauscht wurden, bestimmen die oberen zwei Bits die „spezielle Markierung“, die seit 1931 in die Lochkarte fĂŒr das entsprechende Zeichen gestochen wurde; die unteren vier Bits bestimmen die Zahl, die im Hauptbereich der Karte gestanzt wird. UnterstĂŒtzung fĂŒr Zeichen & - / Die IBM-Tabulatoren wurden in den 1930er Jahren eingefĂŒhrt, und die Kodierung dieser Zeichen im BCDIC entspricht den dafĂŒr durchgebohrten Lochkombinationen. Als es notwendig wurde, eine noch grĂ¶ĂŸere Anzahl von Zeichen zu unterstĂŒtzen, wurden zusĂ€tzlich spezielle Markierungen in Reihe 8 durchbohrt – so konnten in einer Spalte bis zu drei Löcher vorhanden sein. Dieses Format von Lochkarten blieb praktisch unverĂ€ndert bis zum Ende des Jahrhunderts. In der Sowjetunion wurden die IBM-Kodierungen fĂŒr lateinische Buchstaben und Interpunktion beibehalten, wĂ€hrend fĂŒr die kyrillischen Buchstaben mehrere spezielle Markierungen in den Reihen 12, 11, 0 durchbohrt wurden – ohne sich auf drei Löcher pro Spalte zu beschrĂ€nken.

Bei der Erstellung des IBM 704 Computers wurde lange nicht ĂŒber die Kodierung der Zeichen nachgedacht: Man ĂŒbernahm die Kodierung, die damals bereits fĂŒr die Lochkarten verwendet wurde, und setzte lediglich die 0 an ihren Platz. 1964, beim Übergang von BCDIC zu EBCDIC, blieben die unteren vier Bits jedes Zeichens unverĂ€ndert, obwohl die oberen Bits etwas umsortiert wurden. So hatte das von Hollerith zu Beginn des letzten Jahrhunderts gewĂ€hlte Format der Lochkarten Einfluss auf die Architektur aller IBM-Computer, bis einschließlich IBM Z.

Quelle: habr.com

60GB SSD 8Gb DDR4