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 ]