Frage deutsch
~~~~~~~~~~~~~~
Wofür steht die Abkürzung "ASCII" ?
 

Question English
~~~~~~~~~~~~~~
What does the Abbrevation "ASCII" stand for?
 

Antwort 1
~~~~~~~~
[ von Pawel und Thomas Antoni, 11.1999 - 17.6.2002 ]
 
*** Definition
ASCII steht für "American Standard Code for Information Interchange"
ASCII war ursprünglich 7 Bit langer Code für die Darstellung von 128 Buchstaben, Ziffern, Sonder- und Steuerzeichen. Auf dem PC wurde der ASCII-Code um ein weiteres Bit auf 8 Bits erweitert, womit sich 256 Zeichen darstellen lassen. Die zweiten 128 Zeichen (Codes 128 bis 255) sind in den verschiedenen Ländern unterschiedlich belegt. Man spricht hier von landesspezifische "MS-DOS Codeseiten". QBasic-Programmierer, die darauf Wert legen, daß ihr Programm weltweit auf allen PCs gleichartige Bildschirmausgaben macht, sollten vorsichtig mit der Verwendung der Codes 128...255 sein. Sogar auf deutschsprachig installierten PCs gibt es einen Unterschied zwischen MS-DOS bis 6.22, wo die Codepage 437 ("Englisch" ) verwendet wird und Windows 95/98, das in der DOS-Box standardmäßig die Codepage 850 ("Mehrsprachig/Lateinisch I") installiert. Das Zeichen CHR$(199) wird z.B. unter MS-DOS 6.22 als ein schöner senkrechter Doppelstrich mit einfacher Querlinie, unter Windows 95 aber leider als "A" mit einem "Wellenlinien"-Akzent dargestellt.
 
*** Belohnung
Wer einen allgemeingültigen Weg findet, das letztgenannte Problem zu umgehen erhält kostenlos die CD-ROM von http://www.antonis.de mit jeder Menge QBasic-Stuff (siehe die Frage ==> "Welche Einschränkungen gibt es..." in der Rubrik "QBasic unter Windows ...")
 
*** Zeichentabelle des ASCII-Codes
Eine komplette Übersicht über den ASCII-Code gibt's unten und in der Online-Hilfe von QBasic unter "Hilfe | Inhalt |ASCII-Zeichen Codes". Im Download-Bereich von http://www.qbasic.de kannst Du unter "Download -> Eigene Progs" eine in QBasic programmierte kleine ASCII-Tabelle herunterladen, die bei Bedarf alle ASCII-Zeichen mit dem dazugehörigen Code auf dem Bildschirm anzeigt.
 
*** Darstellung von ASCII-Code in Windows-Programmen
Unter Windows (außerhalb der DOS-Box) wird übrigens nicht der ASCII-Code, sondern der sogenannte ANSI-Zeichencode verwendet (siehe -> ANSI ). Der ANSI-Code stellt jedes Zeichen ebefalls mit 8 Bits dar, wobei die ersten 128 Zeichen dem ASCII-Code entsprechen. Die oberen 128 Codes von 128 bis 255 sind anders belegt als beim ASCII-Code. Dies führt dazu, daß z.B. die Umlaute einer unter DOS editierten Textdatei unter Windows falsch dargestellt werden. Es gibt jedoch auch unter Windows einige wenige Schriftarten, die den ASCII-Code verwenden und DOS-Texte richtig darstellen können, z.B. die mit Windows 3.1 ausgelieferte Schriftart MS Linedraw.
 
Gute Windows-Texteditoren, wie z.B. der M&I WinEditor, TextPad und NoteTab können ASCII- und ANSI-Dateien richtig anzeigen und auch diese ineinander umwandeln.
 
*** Unicode - der Zeichencode der Zukunft
Neuere Betriebssysteme und auch das künftige Windows verwenden zur Zeichendarstellung den 16-bittigen "Unicode" in dem sich die Schriftzeichen vieler Länder (auch Chinesisch und Japanisch) richtig darstellen lassen.
 
*** Eingabe von ASCII-Sonderzeichen über die Tastatur
Du kannst beliebige ASCII-Sonderzeichen unter DOS oder Windows über die Tastatur eingegeben, indem Du
die links von der Leertaste angeordnete »Alt«-Taste drückst und gedrückt hältst
auf dem rechten Cursorblock den ASCII-Code eingibst (siehe untenstehende Tabellen; unter Windows eine führende "0" eingeben!!!)
und abschließend die »Alt«-Taste wieder loslässt
 
*** Codetabelle und Unterschiede zu ANSI
ASCII ist der für MS-DOS übliche Zeichencode. ANSI ist unter Windows und im
Internet üblich.
 
Die Codes zwischen 0 Dezimal und 127 (dezimal) werden bei ASCII- und ANSI-
Zeichen identisch dargestellt, siehe Tabelle (1).
 
Die in Deutschland übliche obere ASII-Codeseite Nr. 850 mit den Sonderzeichen
von 128 bis 255 sind in Tabelle (2) dargestellt.
 
Die hiervon abweichende, in Deutschland übliche mitteleuropäische ANSI-Codeseite
findest Du in Tabelle (2)
 
(1) ASCII- Und ANSI-Zeichen für die Codes 0...127
----------------------------------------------------------
0 = (NUL) 32 = 64 = @ 96 = `
1 = (SOH) 33 = ! 65 = A 97 = a
2 = (STX) 34 = " 66 = B 98 = b
3 = (ETX) 35 = # 67 = C 99 = c
4 = (EOT) 36 = $ 68 = D 100 = d
5 = (ENQ) 37 = % 69 = E 101 = e
6 = (ACK) 38 = & 70 = F 102 = f
7 = (BEL) 39 = ' 71 = G 103 = g
8 = (BS) 40 = ( 72 = H 104 = h
9 = (HT) 41 = ) 73 = I 105 = i
10 = (LF) 42 = * 74 = J 106 = j
11 = (VT) 43 = + 75 = K 107 = k
12 = (FF) 44 = , 76 = L 108 = l
13 = (CR) 45 = - 77 = M 109 = m
14 = (SO) 46 = . 78 = N 110 = n
15 = (SI) 47 = / 79 = O 111 = o
16 = (DLE) 48 = 0 80 = P 112 = p
17 = (DC1) 49 = 1 81 = Q 113 = q
18 = (DC2) 50 = 2 82 = R 114 = r
19 = (DC3) 51 = 3 83 = S 115 = s
20 = (DC4) 52 = 4 84 = T 116 = t
21 = (DC5) 53 = 5 85 = U 117 = u
22 = (SYN) 54 = 6 86 = V 118 = v
23 = (ETB) 55 = 7 87 = W 119 = w
24 = (CAN) 56 = 8 88 = X 120 = x
25 = (EM) 57 = 9 89 = Y 121 = y
26 = (SUB) 58 = : 90 = Z 122 = z
27 = (ESC) 59 = ; 91 = [ 123 = {
28 = (FS) 60 = < 92 = \ 124 = |
29 = (GS) 61 = = 93 = ] 125 = }
30 = (RS) 62 = > 94 = ^ 126 = ~
31 = (US) 63 = ? 95 = _ 127 = (DEL)
 
Für die Codes 0...127 sind die ASCII-Zeichen und ANSI-Zeichen identisch
und länderübergreifend.
 
Die darüberliegenden Codes von 128 bis 255 sind Länderabhängig und bei
ASCII und ANSI unterschiedlich belegt.
 
Diese Eingabemethode gilt auch für die in den Tabelllen (2) und (3) angegebenen
Codes für 128 ... 255.
 
Ein in runde Klammern eingeschlossener Ausdruck bedeutet, daß dieses Zeichen ein
nicht druckbares Steuerzeichen darstellt; die Bedeutung der Zeichen 7 bis 13
lautet:
 
7 = Glocke = BEL = BELL
8 = Zeichen-Rücksschritt = BS = BackSpace
9 = Horizontaler Tabulator = HT = Horizontal Tabulator
10 = Zeilenvorschub = LF = Line Feed
11 = Vertikaler Tabulator = VT = Vertical Tabulator
12 = Seitenvorschub = FF = Form Feed
13 = Wagenrücklauf = CR = Carriage Return

Das Zeichen 32 entspricht dem üblichen Leerzeichen.
 
Ein normaler über die »Return«- bzw. »Enter«-Taste eingegebener harter
Zeilenumbruch besteht aus den zwei Zeichen CR (ASCII-Wert 13) und LF (ASCII-Wert
10). Dies hat historische Gründe: bei elektrischen Schreibmaschinen geschah der
Zeilenumbruch, indem die Gummi-Walze zuerst in die Ausgangs-Stellung
zurückgefahren wurde (daher die Bezeichnung »Wagenrücklauf« bzw. »Carriage
Return«) und dann in einem zweiten Schritt um einen Zeilenabstand vorgedreht
wird.
 
(2) ASCII-Zeichen für die Codes von 128 bis 255 für die landesspezifische
Codeseite 850 (Achtung: bei einigen Codes keine korrekte Darstellung,
da die Anzeige hier unter Windows erfolgt)
-----------------------------------------------------------------------
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----
130 | ' z " . L Î ^ % S <
140 | O _ Z _ _ ' ' " " o
150 | - - ~ T s > o _ z Y
160 | ­ ? s D l Ý o u ¸
170 | ¦ ® d © î r n ý ü
180 | × c ú ÷ × § × × «
190 | ó ¨ · µ ¶ Ç Ž Z ' €
200 | Ô N Ó T Ö × R N A
210 | a r â l ™ ž t ë é e
220 | š í c á …   ƒ C „ †
230 | ' ‡ Š ‚ ˆ ‰ T ? S ‹
240 | Ð ¤ • ? " ä " ö › —
250 | L – e ç
 
*** Umandlung ASCII -> ANSI Text
Im Eintrag "Wie wandle ich DOS-ASCII in Windows-ANSI-Text um?" in der Kategorie "Texte bearbeiten" findest Du einen QB-Programmvorschlag zur Umwandlung von DOS-ASCII- in Windows-ANSI-Text.
 
*** Normen zum ASCII-Code
Der ASCII-Code wurde zuerst 1968 in der Norm ANSI X3.4 veröffentlicht. Die heute gültige Norm ist ISO/IEC 646 . Diese Norm sieht die Möglichkeit vor, für die oberen 128 Zeichencodes landesspezifische Erweiterungen ("national variants") zu definieren; die deutsche Erweiterung findet man in der DIN 66003
 
*** Weitere Informationen zu ASCII
Unter http://czyborra.com/charsets/iso646.html findest Du weitere Informationen zum ASCII-Code .
Die folgende, sehr fundierte Übersicht über die verschiedenen 8-Bit_Zeichencodes stammt von
http://mypage.bluewin.ch/reprobst :
 
Der erweiterte ASCII-Code, EBCDIC und der ANSI 8-Bit-Code
Die Entwicklung hin zum 8-Bit-Code verlief gleich dreigleisig. Microsoft führte für ihr damaliges Betriebssystem MS-DOS den erweiterten ASCII-Code ein, wobei dieser Name ein Bluff ist, denn bei diesem Code handelt es sich nicht um eine Erweiterung, die das Institut, welche den ASCII-Code festgelegt hatte, eingeführt hat. Vielmehr handelt es sich dabei um einen Alleingang von Microsoft. Parallel dazu entstanden zwei weitere aber herstellerunabhängige Standards, welche sich ebenfalls auf einen 8-Bit-Code stützen, namentlich EBCDIC (Extended Binary Coded Decimal Interchange Code) und ANSI (American National Standards Institute). Ein 8-Bit-Code ermöglicht es 28 Zeichen - das ergibt 256 Zeichen - abzubilden.
Im Umfeld der Grossrechner findet man vorwiegend den EBCDIC-Standard, wo gegen sich im Kleinrechnerbereich der ANSI-Standard durchgesetzt hat (exklusiv Macintosh). Beide Systeme beruhen auf einem sehr ähnlichen Prinzip, allerdings ist die Zeichenbelegung völlig verschieden. Dies hat zur Folge, dass es eines Konverters bedarf, wenn ein Schriftstück welches, in ANSI kodiert ist, unter EBCDIC betrachtet und bearbeitet werden soll (und umgekehrt).
Diese 8-Bit Zeichensätze sind in zwei gleich grosse Bereiche unterteilt. Der untere Teil (Position 0 - 127), welcher sich nochmals unterteilen lässt, nämlich in Steuerzeichen, Buchstaben und Zahlen ist weltweit fix (im ANSI-Code entspricht er übrigens dem alten ASCII-Zeichensatz) und enthält auf den Positionen 0 - 31 sämtliche gebräuchlichen Steuerzeichen, welche dem Rechner, Monitor oder Drucker einen Impuls vermitteln können (Zeilenumbruch, Tabulator etc.). Diese Steuerzeichen sind nicht darstellbar (denn Sie würden ja etwas beim Rechner auslösen) und werden deshalb meist mit einem kleinen Quadrat symbolisiert. Wenn Sie auf Ihrem Rechner trotzdem einen Zeilenumbruch (oder ähnliches) sehen, handelt es sich dabei nicht um dieses Steuerzeichen, sondern um ein Zeichen auf einer anderen Position in der Zeichentabelle, welches dieses Steuerzeichen visualisiert.
Ab Position 32 folgen dann zuerst ein paar wichtige Sonderzeichen (z.B. der Leerschlag), dann Zahlen (aufsteigend), dann Grossbuchstaben (alphabetisch) gefolgt von Kleinbuchstaben (ebenfalls alphabetisch). Der untere Bereich (0 - 127) endet dann mit weiteren weit verbreiteten Sonderzeichen. Die Reihenfolge ist sehr bewusst so gewählt, ermöglicht diese Folge doch eine effiziente und praxisorientierte Sortierung von Daten. Und was wäre die Datenverarbeitung ohne effiziente Sortiermöglichkeit?! An den unteren Bereich schliesst sich nahtlos der obere Bereich (Position 128 - 255) an. Die Vergabe dieser Positionen ist zwar ebenfalls streng standardisiert, allerdings kommt für jede Sprachregion ein anderer Standard zum Zuge.
Mit dem Übergang von MS-DOS nach MS Windows hat übrigens auch Microsoft auf den ANSI-Standard umgeschwenkt. Dieser Wechsel hat zur Konsequenz, dass es zum Öffnen einer DOS-Datei eines Konverters bedarf, damit auch jene Zeichen, welche sich in der Zeichentabelle in der oberen Region befinden, richtig angezeigt werden.
 

[ The QBasic-MonsterFAQ --- Start Page: www.antonis.de/faq ]