Startseite
    der Anfang
    Wintersemester 2007/08
    Unix Praktikum
    Experimentelle Gestaltung
    Grundlagen analoger Gestaltung
    Mathe für Medieninformatiker 1
    Einführung in die Informatik 1
    Film Ab! Kurs -> individuelle Ergänzung
    Meine Wenigkeit
    Fotoalbum
    Dear Diary
  Archiv
  Gästebuch
  Kontakt
 


http://myblog.de/kopffick

Gratis bloggen bei
myblog.de





4. Represäntation von Zeichen




Da im Rechner eben nur Binärzahlen repräsentierbar sind, werden alle Zeichen mit Binärzahlen codiert.

-> ASCII Code (American Standard Code for Information Interchange (1963))

~> Code verwendet 7 Binärstellen -> 7 Bit-Code = 2^7 = 128 unterschiedliche Zeichen sind codierbar

Mitlerweile ist es jedoch Standart 1 Byte zu verwenden, also 8 Bit. Dabei ist das achte Bit frei und wird für zwei Dinge genutzt:
1. Als Kontrolle der Datenübertragung.
-> Falls 8. Bit gleich 0, dann müssen die restlichen 7 Bit eine gerade Anzahl von Einsen enthalten.
-> Falls 8. Bit gleich 1, müssen die restlichen 7 Bit eine ungerade Anzahl von Einsen enthalten
=> Sonst liegt ein Fehler in der Übertragung vor

2. ANSI Extended ASCII -> als erweiterter Zeichensatz zur Codierung von Sonderzeichen


Jedoch gibt es so viel mehr Zeichen, die man im Rechner darstellen wollte (arabische, kyrillische Buchstaben etc), deshalb entwickelte man den UNICODE.


=> UNICODE

-> Internationaler Codierungs-Standart.
Codierung von:
1. Textzeichen (Buchstaben, Silbenzeichen, Sonderzeichen, Ziffern , etc)
2. mathematische, kaufmännische und technische Sonderzeichen (z.B. Firmensymbole)

Mit dem umfassenderem UNICODE versucht man alle bekannten Zeichen aller Alphabete zu kodieren. Auch tote Sprachen, wie z.B. die Hieroglyphen, Runen und so weiter.
Die letzte Version 3.1 vom März 2001 umfasst knapp über 94 000 Zeichen. Dabei werden 3 Byte benötigt, jedoch 4 Byte verwendet. Das zusätzliche Byte als Reserve für zusätzliche Zeichen.
Durch diesen Umstand entsteht ein großer und meist unnötiger Speicherverbrauch.

Um dieses Speicherverschleuder Problem zu lösen gibt es 2 Lösungsansätze:

1. UCS-2 (universal character set 2) : Kodierung in 2 Bytes, reicht für ca 65 500 Zeichen. Mit 2 Bytes lassen sich alle lebenden Sprachen und die gebräuchlichen Sonderzeichen kodieren und es reicht komplett für die normale Kommunikation. (Auch gängiger Zeichensatz von Microsoft Windows)
2. UTF-8 (unicode transformation format ): die am weitesten verbreitete Kodierung für Unicode-Zeichen. Dabei wird in variabler Länge kodiert.
-> 1 Byte verwendet, bis zu 4 Byte können verwendet werden. Das linke Bit ist erstmal 0, um den Anfang kennzuzeichnen. Wenn nur dieser eine Byte verwendet wird, entspricht die Codierung dem ASCII Code, das heißt es sind 128 Zeichen kodierbar.
-> Werden jedoch mehr Bytes benötigt, fängt das nachfolgende Byte mit 10 an, um kennzuzeichnen, dass es noch zum anfänglichen Byte gehört. Das erste Byte zeigt durch 1-en und einer abschließenden 0 an, wie viele Bytes noch nachfolgen.


-> Beispiele:

-> 0xxxxxxx (2^7 Zeichen kodierbar, kein Byte folgt)

-> 110xxxxx 10xxxxxx (2^11 Zeichen kodierbar. Die zwei Einsen und die abschließende 0 kennzeichnen, dass noch genau ein Byte folgt, der dann wiederum mit 10 anfängt)

->11110xxx 10xxxxxx 10xxxxxx 10xxxxxx (2^16 Zeichen kodierbar. Die 4 Einsen am Anfangsbyte kennzeichnen: eine Eins für das Anfangsbyte, 3 für 3 nachfolgende Bytes.)


=> Die nachfolgenden Bytes beginnen immer mit 10, damit bei gestörter Übertagung klar ist, dass hier nicht der Anfang sein kann.
25.2.08 13:48
 


bisher 0 Kommentar(e)     TrackBack-URL

Name:
Email:
Website:
E-Mail bei weiteren Kommentaren
Informationen speichern (Cookie)



 Smileys einfügen



Verantwortlich für die Inhalte ist der Autor. Dein kostenloses Blog bei myblog.de! Datenschutzerklärung
Werbung