Zeichenkonverter in C

Die schnelle Verbreitung der ST-Computer ist zu einem großen Teil auf Auf- und Umsteiger zurückzuführen. Welchen Computer hätte sich auch in den Jahren vor dem ST beispielsweise ein Apple-II-Anwender kaufen sollen? Ein C64 war keine Alternative; ein IBM hätte sich nur als abschreibungsfähige Büromaschine gelohnt. Was blieb, war das Warten auf einen neuen Traumcomputer.

So ist es kein Wunder, daß neben den Ein- auch zahllose Umsteiger jetzt mit einem Atari ST arbeiten. In der Anfangszeit überspielten erfahrenere Anwender eventuell die CP/M-Programme zur Weiterverwendung mit dem Z80-Emulator, auf jeden Fall jedoch die im Laufe der Jahre angesammelten Texte und Daten. Doch zeigt sich dabei, daß ASCII eben doch nicht gleich ASCII ist, zumindest was die Umlaute betrifft. Diese erscheinen auf dem ST alle als Klammern, und auch mit der Neuformatierung unter "1st Word" klappt es nicht so recht.
Letzteres liegt daran, daß "lst Word" vier verschiedene Arten von Leerzeichen unterscheidet (stretch space, indent space, variable space und fixed space), wobei das Standardzwischenraumzeichen mit dem Code 32 natürlich ausgerechnet dem "festen Leerzeichen" entspricht.

Diese Klippe läßt sich aber relativ leicht umschiffen: Man öffnet einfach ein Dokument im WP-Modus und lädt den betreffenden Text als Block hinzu. Seitenlange Texte nun aber mit Suchen & Ersetzen durchzuarbeiten, und das mehrmals, nur um alle Umlaute zu konvertieren, ist doch ein wenig zu aufwendig. Wünschenswert wäre ein kleines Programm, das den Originaltext zeichenweise liest und die gewünschten Zeichen austauscht.

Bei den 8-Bit-Computern wurden die Umlaute, mehr oder weniger beliebig, bestimmten Codes innerhalb der 128 zur Verfügung stehenden ASCII-Zeichen zugeordnet. Da man damals in erster Linie an die Anwender dachte, fielen den deutschen Umlauten die eckigen und auch geschweiften Klammern zum Opfer, und die rasch wachsende Gemeinde der Pascal-Programmierer hatte das Nachsehen.

91 = Ä 92 = Ö 93 = Ü 123 = ä 124 = ö 125 = ü 126 = ß

Erst der IBM-PC machte sich die Zeichen mit den Codes von 129 bis 255 nicht nur für eigene Grafikzeichen zunutze, sondern implementierte in diesem Bereich auch nationale Sonderzeichen. Dank der weiten Verbreitung der PCs gilt diese Belegung heute als inoffizieller Standard. So weisen Drucker jetzt schon häufig neben dem Epson-Standardzeichensatz auch eine Version des IBM-Charactersets auf. Erfreulicherweise kennt auch der ST die entsprechenden Sonderzeichen - mit der kleinen Besonderheit, daß ein ß bei IBM auf ST-Computern eigentlich ein griechisches Beta ist, was aber gar nicht weiter auffällt. Hier die ASCII-Werte der deutschen Sonderzeichen

Ä = 142 Ö = 153 Ü = 154 ä = 132 ö = 148 ü = 129 ß = 158

Entsprechend den Belegungen innerhalb der beiden unterschiedlichen Zeichensätze werden die betreffenden Zeichen ausgetauscht.

Bitte beachten Sie, daß das Programm als "schnelle Hilfe" geschrieben wurde. Demgemäß fehlt nicht nur eine GEM-Umgebung, auch eine Überprüfung des File-Namens auf Korrektheit entfällt. Sie sollten also tunlichst darauf verzichten, als Quelle und Ziel. den gleichen Dateinamen anzugeben.


Jörg Walkowiak
Aus: Atari-Magazin 06 / 1987, Seite

Links

Copyright-Bestimmungen: siehe Über diese Seite