Warum Buchstaben als Dez.Zahl? < Sonstige < Schule < Informatik < Vorhilfe
|
Hallo!
Beim ASCII-Code (oder bei jedem Zeichencode) wird ja einem Buchstaben oder Zeichen eine Zahl zugeordnet, die je nach Code verschieden ist. Diese Zahl wird dan verwendet, um dnas Zeichen auf Bitebene zu repräsentieren, weil der PC ja keine Buchstaben kennt. Soweit so gut. Aber: Wieso ordnet man den Buchstaben nicht direkt ein Bitmuster zu? Wieso noch mal der Zwischenschritt über die Zahl?
|
|
|
|
Hallo Vokabulator,
wenn ich die Frage richtig verstehe, ist sie einfach zu beantworten:
> Beim ASCII-Code (oder bei jedem Zeichencode) wird ja einem
> Buchstaben oder Zeichen eine Zahl zugeordnet, die je nach
> Code verschieden ist. Diese Zahl wird dan verwendet, um
> dnas Zeichen auf Bitebene zu repräsentieren, weil der PC
> ja keine Buchstaben kennt. Soweit so gut. Aber: Wieso
> ordnet man den Buchstaben nicht direkt ein Bitmuster zu?
> Wieso noch mal der Zwischenschritt über die Zahl?
Weil man da viel weniger Bit braucht! Beim Standard-ASCII kann man ja mit 8 Bit 256 Zeichen codieren. Wenn deren "Bild" gespeichert würde, bräuchten wir wohl mindestens ein grobes 8*8-Raster, also 64 Bit. Bei einer besseren Darstellung entsprechend viel mehr.
Grüße
reverend
|
|
|
|
|
Hallo!
Das war nicht ganz, was ich meinte. Sagen wir, du liest eine Datei ein, die in ASCII gespeichert wird. Dann liest du für ein A eine Bitfolge ein, die die Zahl 65 repräsentiert -> (0)1000001. Wieso repräsentiert diese Bitfolge nicht direkt ein A?
|
|
|
|
|
Hallo nochmal,
ich verstehs immer noch nicht.
> Das war nicht ganz, was ich meinte. Sagen wir, du liest
> eine Datei ein, die in ASCII gespeichert wird.
Fein. Das ist der erste Teil, die Verabredung des Codes. Sie muss dem Sender und dem Empfänger bekannt sein, egal ob eine Verschlüsselung stattfindet oder nicht. Hier also: ohne Verschlüsselung.
> Dann liest
> du für ein A eine Bitfolge ein, die die Zahl 65
> repräsentiert -> (0)1000001. Wieso repräsentiert diese
> Bitfolge nicht direkt ein A?
Wieso, das tut sie doch? Kein anderes Zeichen hat diesen Code. Zeichen und Code sind einander zugeordnet, bijektiv. Was ist jetzt also Dein Problem?
Grüße
reverend
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 03:40 Mo 31.03.2014 | Autor: | tobit09 |
Hallo Vokabulator!
> Beim ASCII-Code (oder bei jedem Zeichencode) wird ja einem
> Buchstaben oder Zeichen eine Zahl zugeordnet, die je nach
> Code verschieden ist. Diese Zahl wird dan verwendet, um
> dnas Zeichen auf Bitebene zu repräsentieren, weil der PC
> ja keine Buchstaben kennt. Soweit so gut. Aber: Wieso
> ordnet man den Buchstaben nicht direkt ein Bitmuster zu?
> Wieso noch mal der Zwischenschritt über die Zahl?
Für die technische Umsetzung der Codierung wird man wohl kaum diesen Umweg gehen.
Er veranschaulicht die Codierung vielmehr für menschliche Leser, die mit dem Dezimalzahlensystem vertrauter als mit dem Binärzahlensystem bzw. mit Bit-Ketten sind.
Viele Grüße
Tobias
|
|
|
|
|
aaah okay... ich dachte, dass man erst jedem Zeichen eine Dezimalzahl zuordnet und dann die Bitfolge dieser Dezimalzahl nimmt. Aber deiner Aussage nach ist die Bitfolge für A halt einfach "zufällig" die Dezimalzahl 65, richtig?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 00:30 Di 01.04.2014 | Autor: | tobit09 |
> aaah okay... ich dachte, dass man erst jedem Zeichen eine
> Dezimalzahl zuordnet und dann die Bitfolge dieser
> Dezimalzahl nimmt. Aber deiner Aussage nach ist die
> Bitfolge für A halt einfach "zufällig" die Dezimalzahl
> 65, richtig?
So würde ich es nicht sagen. Ich vermute, dass bei der Festsetzung des Ascii-Standards schon zunächst "in Dezimalzahlen gedacht" wurde, da die beteiligten Menschen mit Dezimalzahlen vertrauter als mit Bitfolgen gewesen sein dürften.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:36 Di 01.04.2014 | Autor: | chrisno |
Nach dem Umstieg von 7-bit auf 8-bit Codierung. Angefangen hat man mit 7 bit, um Speicherplatz zu sparen.
|
|
|
|
|
Hallo!
Warum die ASCII-Tabelle exakt so aussieht, wie sie aussieht, kann ich auch nicht sagen. So ganz systematisch ist sie nicht. Immerhin entsprechen die Ziffern 0...9 der letzten Ziffer des Zahlenwertes im Hexadezimalsystem (die '4' ist 0x34)
Zwei Details sind aber interessant: Wenn A dem Wert 65 entspricht, addiere mal 32 dazu. Welches Zeichen bekommst du dann? Und wie sehen die Bits jeweils aus?
Nochwas: Alle Steuerzeichen sind am Anfang der ASCII-Tabelle. Nur das DEL liegt mit einem Wert von 127 mitten drin.
Warum? Früher hat man Lochkarten gehabt, um Computer zu programmieren. Das waren Pappkarten, die in mehreren Zeilen jeweils 7 Positionen (Bits) hatten, welche entweder gelocht (Bit gesetzt) oder nicht gelocht (Bit nicht gesetzt) waren. Hat man sich beim Löcher stanzen mal vertan, hat man alle Positionen der Zeile gelocht. Diese 7 gesetzten Bits bedeuten für den Computer, daß er diese Zeile ignorieren soll. Und 7 gesetzte Bits, das ist ein Wert von 127.
|
|
|
|
|
Vielen Dank euch allen! Da müsste ich mir dann wohl die Geschichte von ASCII mal genauer angucken.
|
|
|
|