Ascii-code


  • Eisbude
  • 1870 Aufrufe 24 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hallo ihr da draußen!Hab ein riesiges Problem.
    Muss in der Schule einen Vortrag vorbereiten über den ASCII Code!Aber ich versteh das einfach nicht.Könnte vielleicht jemand so nett sein und mir dies erklären bitte?:rolleyes:

    danke, im vorraus, greez
    Eisbude
  • hm ???

    nun ja, ascii ist der "american standard of information interchange" und ursprünglich ein 7 bit langer code für nachrichtenübermittlung auf elektronischem wege.
    als es noch fernschreiber gab, dienten sogenannte steuerzeichen dazu, den fernschreiber zu steuern, das erklärt die ersten 32 zeichen, unter denen es zeichen gibt wie "lf" (line feed, neue zeile) oder "ff" (form feed, neue seite) usw..

    mit 7 bit (also 7 schaltzuständen) lassen sich 128 zeichen realisieren. das lateinische alphabet mit seinen 26 buchstaben passt also sehr gut hinein, so das auch noch zahlen und ein paar sonderzeichen wie zb , . : usw in den ersten ascii code aufgenommen werden konnten.

    diese zeichen werden nach der ascii tabelle auf jeweils eine zahl zwischen 0 und 127 abgebildet und diese wiederum im binär-alphabet dargestellt. so ist die zahl 1 bspw. binär als 000 0001 zu lesen die zahl 2 als 000 0010 usw...

    Soll jetzt zb der Buchstabe "a" gesendet werden, so muss er zunächst einmal auf der ascii tabelle mit seinem zahlenschlüssel identifiziert werden. er hatden code "97". Diese zahl wird ins binärformat umgewandelt. -> 110 0001

    technisch sieht das so aus, das für jeden buchstaben über eine genau festgelegte zeit (zb innerhalb 7 sec) 7 signale geschickt werden, wobei genau ein zeichen codiert wird. das heisst für das beispiel "a" wird 2 sekunden lang strom durch die leitung geschickt, dann 4 sekunden nicht und dann wieder 1 sekunde strom.

    der empfänger kann daraus dann wieder den buchstaben "a" ableiten.

    Weil es oft zu fehlern auf den damals noch störanfälligen leitungen kam, wurde das sogenannte paritätsbit eingeführt, um die informationen sicherer übertragen zu können. es werden hierbei 8 bit gebraucht. das 8te bit errechnet sich aus der anzahl der "einsen" im code des zu codierenden buchstabens. in unserem beispiel für das "a" haben wir 3 einsen. man sagt: "die parität ist ungerade" weil die anzahl der einsen ungerade ist. bei ungerader parität wird das paritätsbit gesetzt, bei gerader ist sie 0. daraus folgt für unser "a" ein binärschlüssel wie dieser: 1100 0011

    das paritätsbit wird einfach angehangen.


    als ascii bekannter wurde, insbesondere auch im deutschen sprachraum, wurden mehr als die bisherigen 128 zeichen gebraucht. beispielsweise für umlaute (ä, ü , ö). das paritätsbit fiel zugunsten des erweiterten zeichensatzes (weitere 128 zeichen) weg.

    die ascii tabelle findest du zB hier: asciitable.com/
  • dank dir für das hier!!!!!!!!echt nett

    WIe kann kommt man von den 7bit auf 128 zeichen und später auf die 256!da gibt doch ne rechensweise ne?
    in der tabelle stehen ja garnicht die für a zb. 1100001
  • 128 weil du 7 bit hast die entweder 0 oder 1 sein können

    d.h. 2 hoch 7 sind 128 kombinationen

    2 hoch 8 => 256 kombinationen

    edit:
    oh, die zweite frage vergessen...

    das 0101010 is binär code
    einfach nur ne andere schreibweise für normale dual zahlen

    Warum es auf der seite nicht so steht?
    Frag die programmierer....
    aber 4 schreibweisen genügen doch ;)


    Greetz
    Krapp
  • yo danke, und wieso stehen die 1100011 nicht in der tabelle?

    und die zahl , meinetwegen 120, steht für die 120ste kombination!nur wie kann ich daraus nun alles weitere ableiten?muss es ja erklären können
  • Original geschrieben von Eisbude
    yo danke, und wieso stehen die 1100011 nicht in der tabelle?


    guck nochmal in mein anderes posting


    und die zahl , meinetwegen 120, steht für die 120ste kombination!nur wie kann ich daraus nun alles weitere ableiten?muss es ja erklären können


    was willst du denn daraus ableiten?
    die zahlen stehen einfach nur für die zeichen!
    Wenn du z.B. programierst und du ein zeichen schreiben willst, dass nicht auf der tastatur ist, gibst du einfach den code für das gewünschte zeichen ein und shcon erscheint es :)

    Greetz
    Krapp
  • also um mal bei obrigen beispiel zu bleiben. das zeichen a steht in der tabelle mit 97. diese dezimalzahl musst du ins binärformat umrechnen. geht wie folgt:

    Dezimal in Binär:

    97 : 2 = 48 Rest 1
    48 : 2 = 24 Rest 0
    24 : 2 = 12 Rest 0
    12 : 2 = 6 Rest0
    6 : 2 = 3 Rest 0
    3 : 2 = 1 Rest 1
    1 : 2 = 0 Rest 1

    das system ist die zahl zu nehmen und fortlaufend durch 2 zu dividieren. wenn du dann die ergebnisse rechts (nullen und einsen) von unten nach oben ließt, hast du das ergebnis: 1100001

    Binär in Dezimal:

    vorgegangen wird von links nach rechts, und fortlaufend mit der 2er potenz der stellenwertigkeit malgenommen. das beispiel von oben: 1100001

    1 x 2^0 = 1 x 1 = 1
    0 x 2^1 = 0 x 2 = 0
    0 x 2^2 = 0 x 4 = 0
    0 x 2^3 = 0 x 8 = 0
    0 x 2^4 = 0 x 16 = 0
    1 x 2^5 = 1 x 32 = 32
    1 x 2^6 = 1 x 64 = 64
    ---------------- +
    97

    q.e.d.

    die ergebnisse rechts werden nur addiert.

    das wars auch schon
    viel erfolg
  • Original geschrieben von Eisbude
    und mal 2? wieso nicht drei?
    ohm, weils bin-är system heisst und nicht tern-är system

    // habs oben noch mal editiert und die 2er potenzen eingetragen. vllt wirds jetzt deutlicher

    btw: neben deinem beitrag ist ein - Button. du brauchst nicht immer wieder ein neues posting zu machen, wenn du was nachtragen willst !
  • Dezimal in Binär:

    97 : 2 = 48 Rest 1
    48 : 2 = 24 Rest 0
    24 : 2 = 12 Rest 0
    12 : 2 = 6 Rest0
    6 : 2 = 3 Rest 0
    3 : 2 = 1 Rest 1
    1 : 2 = 0 Rest 1



    Wie sieht es meinetwegen bei dem Code 128 aus????
  • 128 : 2 = 64 Rest 0
    64 : 2 = 32 Rest 0
    32 : 2 = 16 Rest 0
    16 : 2 = 8 Rest 0
    8 : 2 = 4 Rest 0
    4 : 2 = 2 Rest 0
    2 : 2 = 1 Rest 0
    1 : 2 = 0 Rest 1

    macht von unten nach oben gelesen: 1000 0000

    du must halt immer das ergebnis der ganzzahligen division durch 2 für den nächsten schritt weiterverwenden. solange bis du bei 1 angekommen bist.
  • dank dir!
    halte morgen den vortrag und bin grad am ausarbeiten!
    eigentlich dürfte mich nur die dezimalzahlen interssieren!

    sagen wir ich möchte per ascii eingeben in der tabelle die stelle 0.
    muss ich dann für die zehenrstelle( die eigentlich da wäre) eine "0" eingeben?also [alt]+ 00?? oder reicht alt+0

    wenn ich die ersten ascii codes eingebe kommen bei mir smileys!
    und in der tabelle stehhen irgendwelche kombinationnen!
    wie kann ich mir das erklären?
  • es reicht, wenn du alt + 0 nimmst. führende nullen sind ja eh uninteressant.

    die smilies erlären sich dadurch, das die ersten 32 ascii-codes NICHT-druckbare zeichen sind bzw sogenannte "whitespace"-Zeichen. dazu zählen, wie oben schon geschildert "FormFeed" (neue Seite) oder "LineFeed" (Neue Zeile) sowiew horizontale und vertikal Tabulatoren. Sie stammen aus der Zeit der Fernschreiber und wurden eben für dies Zwecke benutzt. Also zB eine neue Seite zu beginnen oder ein paar Zeilen frei zu lassen.
  • beispiel für die ziffer 1 Ascii 49

    49:2=24 Rest 1
    24:2=12 Rest 0
    12:2=6 Rest 0
    6: 2 =3 Rest 0
    3:2 =1 Rest 1
    1:2 =0 Rest 1


    stimmt das?
    du hattest geschrieben da kommt bei 1:
    000 0001 raus