Lochkarten Codes

Siehe auch:Lochstreifen
Herkunft / Verwendung: Die Lochkarte ansich ist kein Code, sondern vielmehr ein Datenträger; so wie eine Diskette oder ein Magnetband. Lochkarten bestehen meist aus dünnen Karton und es gibt sie in unterschiedlichsten Farben, von weiß, über gelblich bis hin zu blau.

Die Lochkarte ist sowohl Eingabe- oder als Ausgabemedium. Das heißt, man kann mit ihm Daten zwischen zwei Maschinen transportieren. Das Ergebnis einer Maschine kann die Eingabe einer anderen darstellen.


Gebräuchliche "moderne" (Einsatz bis in die 1970er) Lochkarten haben 80 Spalten und 12 Zeilen, also 960 Positionen, in die rechteckige (hochkante) Löcher gestanzt werden können. Es war IBM, die sich dieses Format 1928 patentieren ließen. Die Karten hatte die Ausmaße von 7 3/8 mal 3 1/4 Zoll (oder 187.325 x 82.55 mm) und waren damit etwas schmaler als ein hochkant liegendes DIN A4-Blatt. Diese Karten waren an der oben linken Ecke abgeschrägt, um schnell die Kartenorientierung zu erfassen. Die anderen Ecken waren entweder scharfkantig eckig oder abgerundet.

Mitte der Siebziger Jahre der zwanzigsten Jahrhunderts erfand IBM für sein System/3 ein neues Lochkartenformat mit 96 Spalten, welche zudem etwa ein drittel schmaler als die 80-spaltigen Karten waren. Außerdem wurden hier nun kreisrunde Löcher (mit nur 1 mm Durckmesser) statt rechteckiger benutzt. Auch wurde die Kodierung angepasst und erfolgte nun im 6-Bit BCD-Code oder im 8-Bit-EBCDIC-Code. Das neue Lochkartenformat konnte sich aber nicht auf breiter Front durchsetzen, da zunehmend Magnetbänder und Magnetplatten zum Einsatz kamen, die eine höhere Speicherdichte, weniger Platzbedarf und höhere Verarbeitungsgeschwindigkeiten erlaubten. Die damals üblichen 80 Megabyte-Festplatten hatten das Fassunsvermögen von einer Million Lochkarten.

Ein Beispiel zur Arbeit mit Lochkarten anhand der des Arbeitsalltag eines Programmierers:
  • Entwurf eines Programmes in Klarschrift (etwa Cobol). Außerdem Entwurf passender Testdaten.
  • Eingabe des Programmes in einen Lochkartenstanzer und Ausgabe des Quelltextes und der Testdaten auf Lochkarten
  • Einlegen des Lochkartenstapels für das (binäre) Programm "Cobol-Compiler" in den Großrechner
  • Auf Aufforderung des Compilers: Einlegen der eigenen Lochkarten mit dem Quellcode
  • Der Compiler kompliliert den Quelltext und gibt a) eine Fehlermeldung aus oder b) gibt Lochkarten mit dem binären Programm in Maschinensprache aus.
  • bei a) musste der Programmierer den Fehler korrigieren und die Quelltext-Lochkarten korrigieren: bei kleinen Fehlern mit einem Handlocher; bei größeren Fehlern durch neue Lochkarten
  • Einlegen der Lochkarten mit dem binären Programm in den Großrechner
  • Auf Aufforderung des eigenen Programmes: Einlegen der Lochkarten mit den Testdaten
  • Entnahme der Lochkarten mit den Ergebnisdaten
  • Füttern eines Zeilendruckers mit den Ergebnis-Lochkarten zum Ausdrucken im Klartext bzw. wenn es sich um Plotterdaten handelt mit einem Plotter bzw. mit einem anderen Gerät mit Lochkarten-Eingabeschnittstelle
  • Überprüfen des Testdatenergebnisses. Bei Erfolg war der Programmierer mit der Programmierung fertig. War das Ergebnis nicht wie erwartet, Korrektur des Programmes: es geht wieder von vorne los.
  • Schlimmstenfalls fiel dem Programmierer der Stapel mit den Lochkarten hinunter. Darum wurde diese meist in Kartons (ggf. auch verschließbaren) transportiert. Die Sortierung der Lochkarten konnte dann eine lange Zeit stupide Arbeit bedeuten. Zum schnellere Sortieren half nur die abgeschrägte Ecke der Lochkarte für die Orientierung. Ein weiterer Kniff war, eine schräge Linie auf einen Lochkartenstapel mit einem Filzstift zu zeichnen (siehe Foto). So konnten man an der Oberkante der Lochkarten schneller erkennen, wenn eine Lochkarte falsch einsortiert war.
Historisch interessant ist auch der Einfluss der Lochkarten: Die Bildschirmbreite von 80 Zeichen von DOS-Computern oder der Ausdruck über 80 Zeichen in der Breite von Druckern rührt von den Lochkarten. Außerdem wurde der Begriff "Batch" (englisch für Stapel, gemeint ist ein Stapel von Lochkarten) übernommen für eine Programmabfolge, daher auch die heute noch gebräuchlichen Begriffe "Batch-Datei" und "Batch-Job" für eine DOS-Script-Datei. Oder das deutsche Wort "Stapelverarbeitung".

Lochkarten selbst gibt es aber schon viel länger. Sie wurden schon Mitte des 18. Jahrhundert zur Steuerung von Webstühlen verwendet. Auch die Verwendung in Drehorgeln oder Pianos zum Abspielen eines Musikstückes ist eine alte Anwendung.

Herman Hollerith, Sohn deutscher Einwanderer in die USA, reichte 1884 sein erstes Patent für eine Lochkarte ein. Drei Jahre später, 1887, dann für ein Format mit 288 Lochpositionen mit 24 Spalten zu 12 Stanzpositionen, welches bei der US-Volkszählung 1890 Verwendung fand. Später wurde sie auch in der Datenverarbeitung benutzt.

Es gab weitere Lochkarten-Formate mit 40, 45, 60 und 90 Spalten, die aber keine so große Bedeutung hatten.

Außerdem gab und gibt es noch heute Anwendung von Lochkarten als Hotelzimmer-Schlüsselkarte, in Stempeluhren zur Zeiterfassung, als Parkschein in öffentlichen Tiefgaragen oder als Abrechnungs-Lochkarte in Diskotheken und dergleichen, bei der dann beim Verlassen der Lokalität die Summe der in Anspruch genommenen Getränke abgerechnet wird, welche vorher auf der Lochkarte durch Ausstanzungen markiert wurden.

Lochkarten führen aber heute eher nur noch ein Nischen-Dasein. Allerdings sind sie immer noch als Archivierungsmedium aufgrund zweier Vorteile geeignet: 1. sie sind sehr haltbar und gegen magnetische Einflüsse gefeit. Ausgelegt als Metallkarten können sie auch leicht Feuer und Säuren überstehen 2. Sind die auch ohne Zusatzgeräte mit bloßem Auge dekodierbar; man benötigt lediglich eine Dekodierungstabelle.

Kodierung einer gebräuchlichen IBM 80 Spalten-Lochkarte



Die oben angebildete IBM-Karten waren die gebräuchlichsten und ab der 3. Zeile von oben bedruckt mit zehn Zeilen je 80 Spalten, jeweils von oben nach unten mit 80 Nullen hintereinander , 80 Einsen hintereinander in der nächsten Spalte und so weiter bis zur letzten Spalte mit 80 Neunern. Genau an diese so markierten Positionen fanden die Ausstanzungen statt, so dass markierte Ziffern nicht mehr zu sehen waren. Zwischen den Zeilen waren eventuell noch die Positionen von 1 bis 80 als Zahlen angegeben, um schneller eine bestimmte Position zu finden.

Die obersten zwei Zeilen waren nicht bedruckt, konnte aber bestanzt werden. Die Zeile, die mit den Nullen beschrieben war, wurde auch 10er Zone genannt, die darüber liegende, unbedruckte 11er Zone und die darüber liegende, also oberste Zeile 12er Zone. Diese etwas eigenartige Nummerierung folgte also der Reihenfolge: ab der 1 nach unten bis zur 9 und danach dann von der 0er-Zeile als 10er-Zone, 11er-Zone und 12er-Zone nach oben.

Anfangs war pro Zeile nur eine einzige Ausstanzung erlaubt und es konnten nur numerische Daten erfasst werden: pro Spalte eine Ziffer von 0 bis 9. Ein negatives Vorzeichen wurde dabei durch eine Überlochung dargestellt.

Das Format wurde erweitert, indem man Überlochungen in der 12er und 11er und 10er-Zone zuließ und ein zweites Loch dazu im Bereich 0 bis 9 stantze. Damit waren 3 mal 9 gleich 27 neue Kombinationen erschaffen, die für die Großbuchstaben A bis Z und den Schrägstrich (/) benutzt wurden:

Das Problem, zu erkennen, ob es sich um einen Buchstaben oder eine negative Ziffer handelt, die ja die selben Ausstanzungen haben können, umging man damit, die Zuordnung der Daten auszuwerten und festzustellen, ob der Code zu einem numerischen oder einem Textfeld gehörte.

Später wurden dann auch drei und noch mehr (bis zu sechs) Lochungen pro Spalte zugelassen, um weitere Kombinationen zu ermöglichen und auch Kleinbuchstaben und Sonderzeichen abzubilden.

In der obigen Abbildung einer Lochkarte kann man die jeweilige Lochkodierung pro Zeichen des EBCDIC-Codes ablesen. Diese hat gewisse Parallelen zum späteren binären EBCDIC-Codes, der zur Speicherung in RAM-Chips angelegt ist. Auch dort findet man die Reihen 0, 1 bis 9; /, S bis Z, K bis R und A bis I wieder, allerdings von unten nach oben gelesen.

Beispiel

Enkodierung

Klartext: Beispielklartext Alphanumerische Darstellung der Lochkarte: A2 A5 A9 02 B7 A9 A5 B3 B2 B3 A1 B9 03 A5 07 03 Pseudografische Darstellung der Lochkarte: __________________________________________________________________________________ / | / ••• •• • • | <-- A | • ••• • | <-- B | 000•00000000•0••0000000000000000000000000000000000000000000000000000000000000000 | <-- 0 | 1111111111•111111111111111111111111111111111111111111111111111111111111111111111 | . | •22•2222•22222222222222222222222222222222222222222222222222222222222222222222222 | . | 3333333•3•33•33•3333333333333333333333333333333333333333333333333333333333333333 | . | 44444444444444444444444444444444444444444444444444444444444444444444444444444444 | . | 5•5555•555555•555555555555555555555555555555555555555555555555555555555555555555 | . | 66666666666666666666666666666666666666666666666666666666666666666666666666666666 | . | 7777•777777777•77777777777777777777777777777777777777777777777777777777777777777 | . | 88888888888888888888888888888888888888888888888888888888888888888888888888888888 | . | 99•99•99999•99999999999999999999999999999999999999999999999999999999999999999999 | <-- 9 |____________________________________________________________________________________| Grafische Darstellung, erstellt mit virtuellem Lochkartenstanzer (Link siehe unten):
Die unteren Zeile sind von 0 bis 9 durch nummeriert. Die oberen beiden Zeilen sind nicht beschriftet und werden hier als "A" und "B" bezeichnet.

Dekodierung

Zur Dekodierung einer physischen Lochkarte ist spaltenweise von links nach rechts vorzugehen, am besten mit einem Stück Papier die Lochkarte teilweise abdecken, so dass nur die jeweils relevante Spalte zu sehen ist. Dann die gelochten Zeilen notieren: A, B oder eine Ziffer von 0 bis 9. Danach ein Leerzeichen notieren und fortfahren mit der nächsten Spalte.
Eingabe: A2 A5 A9 02 B7 A9 A5 B3 B2 B3 A1 B9 03 A5 07 03 Ausgabe: BEISPIELKLARTEXT

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)



Quellen, Literaturverweise und weiterführende Links

Artikel bei Wikipedia
Virtuelle Lochkartenstanzmaschine bei masswerk.at