So, nach den Anfangsschwierigkeiten, wie mal eingeschaltet, geht's jetzt los.
Das Problem mit der Drahtlosübertragung ist leider immer noch da.
Muss ich mich also für entschuldigen. Ich hatte das schon mal hier bekannt gemacht,
aber es sieht wohl so aus,
weil am Beamer da was kaputt war und jetzt irgendwie ausgetauscht ist,
dass dort jetzt eben mal Fernandes Greta ist,
was sich wohl hier irgendwie mit der Tonübertragungsanlage stört und der Effekt ist jetzt leider auch mit installierten Mikrofon da.
Also von daher tut mir das jetzt leid, aber ich hoffe mal,
dass sie das irgendwann im Laufe dieses Semesters also noch ändern wird.
Gut, heute werde ich dann diesen Bereich Zeichen und Texte vorstellen.
Dazu ein bisschen was nochmal wiederholen allgemein zu den Begriffen,
was also im Prinzip aus dem vierten Kapitel der Information schon dran war.
Dann ganz kurz ad hoc Codierung vorstellen. Das es dann eigentlich
auch nochmal so ein bisschen Blick über den Tellerrand und dann eigentlich zu den Zeichensatzkodierungen kommen,
die wir jetzt also im Prinzip immer benutzen,
also Aski, ISO beziehungsweise dann Oniko-Zeichensätze.
Nochmal kurze Wiederholung zu den Begriffen, also wie gesagt,
Zeichen ist ein Element aus einer zur Darstellung von Informationen vereinbarten endlichen Menge.
Diese Menge heißt dann eben Zeichensatz oder Zeichenvorrat.
Minärzeichen wäre dann Emi das Zeichen aus einer Menge von
zwei Symbolen
Nicht, dann wird eben noch unterschieden zwischen numerischen, beziehungsweise alphonumerischen
Zeichen setzen. Das, was wir als Alphabet kennen,
ist dann eben ein Zeichensatz, der in einer Reihenfolge geordnet ist.
Und dann eben als letzte Begriffe dann eben noch Zeichen,
Ketten, also letztendlich als Folge von Zeichen,
Worte dann eben irgendwo Zeichen,
Ketten oder Folgen von Zeichen,
die jetzt eben in einem Zusammenhang als Einheit
bezeichnet werden
Gut, unter dem Thema Ad-Hoc-Kodierung findet man also in den Büchern dann eigentlich erstmal viele,
sagen wir jetzt, sehr ungewöhnliche Zeichen- oder Informationskodierung,
nicht also beispielsweise jetzt hier also mal die Grafik aus der deutschen Wikipedia zum Flaggensignal bzw. Winkeralphabet,
also nur eins von vielen Beispielen,
wie man letztendlich früher teilweise auch über größere Entfernungen,
Informationen übermittelt hat, sowas hier ist im Prinzip in der Seefahrt,
teilweise noch üblich, sagen wir mal,
wenn man jetzt also nicht irgendwie funkt oder funken kann,
wird es was teilweise gemacht.
Ähnliches gilt im Prinzip auch für das Flaggenalphabet,
wo dann im Prinzip den Flaggen dann, also irgendwelche Buchstaben zugeordnet sind.
Das, was wir dann, sagen wir jetzt,
so als Informationsdarstellung bzw. Zeichenkodierungen eigentlich noch kennen,
auch wenn wir damit hoffentlich weiß, Oder hoffentlich nicht direkt umgehen müssen,
wäre dann also im Prinzip die Blindenschrift.
Also das Bre-Alphabet, wo im Prinzip die Zeichen,
beziehungsweise die Ziffern,
gekennzeichnet sind als Symbole in einer zweimal drei Matrix mit geprägten Punkten,
die dann eben entweder erhaben sind oder eben nicht.
Teilweise gibt es auch noch Erweiterungen auf zweimal vier Stellen,
also jetzt für Computerdarstellung. Nicht damit sind demzufolge,
je nachdem, ob ich jetzt sechs oder acht Punkte unterscheide,
eben entsprechend 64 oder 256 Symbole
Darstellbar. Nicht also auch dabei gibt es dann also noch unterschiedlichste Varianten von Symbol pro Buchstabe,
Symbol pro Silbe bis zu irgendwelchen Kurzschriftvarianten,
die es dann teilweise auch in der Blindenschrift gibt.
Eine Zeichensatzkudierung oder eine Informationskudierung,
auf die ich dann im übernächsten Kapitel auch noch ein bisschen eingehen werde,
ist dann im Prinzip der Morsecode, wo es im Prinzip darum geht,
also mit kurzen bzw. langen Tönen dann die Zeichen beziehungsweise die Ziffern zu unterscheiden,
uns darzustellen.
Und hier steht jetzt also beispielsweise ein Punkt dann,
also für einen kurzen Ton, einen Strich für einen langen Ton.
Und hier wäre dann also mal so für die normale Morse-Code-Codierung anschließlich der westeuropäischen Sonderzeichen,
also sprich hier einige Zeichen mit Umlauten an die entsprechenden Codierungen.
Was man jetzt hier bei dem Morse-Code also schon sieht,
ist, dass dieser Code letztendlich nicht eindeutig ist. Das heißt,
wenn ich so ein Codewort habe, wie jetzt hier dargestellt,
bestehend aus fünf kurzen Tönen einen langen Chron, wieder einen kurzen Ton.
Entschuldigung, und mir dann also hier ansehe, was könnte letztendlich dort alles reinpassen,
dann kann ich das also aus unterschiedlichsten Sequenzen dieser Buchstaben,
E-I-N-R und S letztendlich studieren. Das heißt also,
in der Regel sind Morsesequenzen erstmal mehrdeutig und um das Ganze dann also irgendwie eindeutig dekodierbar zu machen,
müssen dann im Prinzip sowas wie Pausen zwischen den Symbolen eingefügt werden,
was also hier zumindest erstmal nicht der Fall ist.
Was jetzt den Morse-Code auszeichnet,
was man jetzt also auch hier gerade an diesem paar Buchstaben,
also schon sehr gut sieht, ist, dass die Codierung für unterschiedliche Buchstaben bzw. Ziffern an unterschiedlich lang gewählt ist.
Die Grundidee dabei ist dann eben, dass ich sage, wenn ich Buchstaben. Entschuldigung. Wenn ich Buchstaben,
die häufiger in meiner Nachricht vorkommen, mit kürzeren Codierungen versehe,
als jetzt also irgendwelche Zeichen, die also deutlich seltener vorkommen,
kann ich entsprechend so einer Häufigkeitskodierung insgesamt eben sehr viel kompakteren Code oder meine Informationen eben sehr viel kompakter darstellen,
als wenn ich jetzt entsprechend der Anzahl der Zeichen,
also beispielsweise jetzt beim normalen Alphabet, also mit 26 Zeichen,
dann eben sage, ich würde eigentlich grundsätzlich immer irgendwie fünf Bit benutzen, um die jetzt also unterscheidbar zu machen.
Also ein Morsecode wird dann eigentlich bei der Dekodierung dann in der Regel immer in so einer Baumdarstellung dargestellt,
wo ich dann eben sagen kann,
also ich habe jetzt hier oben letztendlich die Wurzel,
hätte dann eben hier Zur einen Seite bei der Verzwagung,
bei so einer binären Verzwagung dann eben den Punkt,
baut bei der anderen Seite den Strich,
also sprich einmal den kurzen, aber den langen Ton,
wenn ich jetzt eben einen kurzen Ton empfange,
habe ich jetzt eben ein E,
wenn ich dann also ein oder zwei kurze Töne hintereinander empfangen würde,
hätte ich ein I, beziehungsweise einmal kurz,
einmal lang,
wäre dann ein A und so weiter und so fort und wie gesagt,
dieser Baum geht dann eben auch noch entsprechend weiter,
also hier sind auch noch nicht
alle Zeichen aufgezählt
Gut, das,
was wir jetzt eigentlich bei Computern beziehungsweise bei der Codierung von Texten verwenden,
sind jetzt natürlich, also irgendwelche standardisierten Binär-Codes,
die jetzt in der Informatik immer verwendet werden und der allererste dieser Codes war dann im Prinzip der Asky-Code,
Asky steht dann für American Standard-Code für Information Interchange,
wurde 1967 eingeführt Nachher noch mal kurz aktualisiert,
ist aber eigentlich, sagen wir mal so,
seit den 70er Jahren eigentlich der oder einer der Standardcodes,
um Buchstaben bzw. Ziffern darzustellen.
War eigentlich dann auch viele Jahre bis, sagen wir mal so,
Ende der 80er Jahre der dominierende Code für alle Arten von Textdateien.
Er umfasst eben dabei die typischen Zeichen,
die dann eigentlich auch in einer Breitmaschine vorkommen,
zusätzlich dann eben auch jetzt gerade in Bezug auf diesen Hintergrund der Schreibmaschine dann eben Steuerzeichen,
um jetzt beispielsweise ein Zeichen zurückzugehen in die nächste Zeile zu springen,
beziehungsweise den Schreibkopf der Schreibmaschine wieder an den Zeilen anfangen zurückzufahren.
Kommt auch noch so ein bisschen eigentlich aus der Historie,
weil früher Das heißt also,
in den 60er Jahren beziehungsweise davor gab es dann eben auch schon für Fernschreiber,
die dann eigentlich auch als erste ein Ausgabeterminals an Computer beziehungsweise an Großrechner angeschlossen wurden,
Steuer zeige ich bzw. Kodierung,
wo man jetzt eben wirklich wie mit so einer Kugelkopfschreibmaschine quasi
der Reihe nach zahlenweise seine Zeichen ausgegeben hat und dann eben beispielsweise dafür sorgen musste,
dass wenn es eben eine Zeile übertragen worden war,
man dann am Ende eben einmal den Schreibkopf wieder zurückgefahren hat
bzw. dann eben auch in die nächste Zeile gesprungen ist
Nicht. Und wie gesagt, mit diesem Fernschreiber kurz,
dadurch ergeben sich dann also einige von diesen Steuerzeichen auch noch.
Der Aski-Code umfasst 128 Zeichen insgesamt, die dann demzufolge im 7-Bit kodiert werden.
Dabei sind dann eigentlich die normalen Druckbahnzeichen, also sprich Buchstaben als Leinbuchstaben,
als Großbuchstaben, Ziffern und dann eben auch noch normal Sonderzeichen,
also sprich Ausrufezeichen, diverse Klarmann und auch noch einige andere Sonderzeichen.
Zusätzlich gibt es dann eben noch 33 von diesem Steuerzeichen,
die jetzt also sagen wir mal Nebenwagen Rücklauf und sowas alles dann,
also zum Beispiel auch noch sowas wie ein Bell,
also sprich also eine akustische Glocke betätigen können oder entsprechende andere Sachen.
So, Aski Code, wenn man sich das jetzt hier ansieht,
wäre jetzt als Co-Tabelle, wenn man sie jetzt entsprechend wie näher bzw. oktal kodiert dann so dargestellt,
dass man oder dass das Ganze letztendlich so zu lesen ist,
dass ich hier octal die vorderen drei Bit des Codes beschreibe und hier entsprechend in den Spalten dann hexadizimal die hinteren Vierbit.
Das heißt, zusammengenommen habe ich dann eben eine Beschreibung,
mit denen ich dann letztendlich die Sieben Bit meiner Kodierung beschreibe und um beispielsweise jetzt hier diese Eins zu dekodieren,
wäre dann quasi der entsprechende Aski-Code dann drei, eins,
beziehungsweise wenn ich das dann asybinär umsetze, demzufolge 0-1,
0-0-1. Entschuldigung, so, wie gesagt,
hier sieht man jetzt also sehr schön, Leerzeichen,
dann kommen jetzt hier im Prinzip die einige Sonderzeichen,
die Ziffer 0 bis 9, dann hier eben nochmal Sonderzeichen,
Großbuchstaben, kleinen Buchstaben und hier noch einige Klammern und wie gesagt,
dies hier vorne sind dann eben diese Steuerzeichen,
beispielsweise dann eben für Carrage Return bzw. Line Feed und eben
einige andere Zeichen
Gut, später wurde der Asky-Code dann durch andere modernere Zeichensätze abgelöst,
weil, wie gesagt,
mit 7-Bit 128 letztendlich darstellbaren Zeichen, beziehungsweise 95 Druckbahnzeichen,
hat man da natürlich, sagen wir mal,
keine Möglichkeiten,
mehr jetzt irgendwelche Umlaute beziehungsweise irgendwelche länderspezifischen Zeichen
einzugeben und zu kodieren
Dazu wurde dann quasi auch als Standard die ISO 88,
59 Familie eingeführt, die dann letztendlich eine Erweiterung dieses Asky-Codes,
um jetzt eben die Sonderzeichen und Umlaute beinhaltet,
wird die einzelnen Zeichensätze, werden quasi acht Bit kodiert.
Das heißt, damit habe ich dann also entsprechend die doppelte Anzahl darstellbarer Zeichen
und da dann eben auch noch entsprechend Platz für Sonderzeichen umlaute.
Gleichzeitig gibt es dann eben von diesen Zeichensätzen jetzt auch noch
mehrere unterschiedliche, also sprich Denn eins für westeuropäisch, mitteleuropäisch,
dann aber eben auch beispielsweise was wie arabisch, griechisch und so weiter und so fort. Wenn ich jetzt eben ausgewählt habe,
ich habe einen bestimmten ISO 8859 Code und innerhalb einer Sprache bleibe,
hat man dann eben die Möglichkeit,
jetzt eben auch wirklich Sprachzeichen aus anderen Sprachen entsprechend wiederzugeben,
was aber natürlich immer noch nicht geht, ist,
dass ich mehrsprachige Dokumente mit solchen ISO 88, 59 Codierungen mache,
wo ich dann also beispielsweise die Sonderzeichen von westeuropäischen Sprachen,
also was weiß ich,
ein Umlaut mit irgendwelchen arabischen Zeichen mischen möchte.
Gut, wie sehen diese Kurzgrundsätzlich aus? Auch hier wieder in
einer Co-Tabelle, jetzt also hier auch aus der Wikipedia rausgezogen.
Also hier für ISO 88, 59,1,
also im Prinzip den westeuropäischen Zeichensatz,
sieht man also einmal hier in diesem Bereich Auch wieder normal,
die Ziffern, Groß- und Kleinbuchstaben.
Das Ganze ist letztendlich von der Codierung auch kompatibel zum Asky-Code.
Also genau deswegen hat man dann eben auch hier diese etwas merkwürdige Anordnung.
Und hier hinten ist dann eben noch ein zusätzlicher Bereich,
in dem jetzt also beispielsweise jetzt bei diesem westeuropäischen Zeichensatz jetzt also alle möglichen umlaute,
beziehungsweise Sonderzeichen in Großkleinschreibung und so weiter mit vorhanden sind.
So in diesem Bereich hier befinden sich dann eben auch wieder die entsprechenden Steuerzeichen.
Und die sind also letztendlich für alle diese ISO 88, 59 Code-Varianten gemeinsam.
Und die unterscheiden sich dann letztendlich immer nur in diesem Bereichen jener Sprache,
wo dann also letztendlich diese Sonderzeichen eingesetzt sind.
Also hier als Beispiel zum Beispiel jetzt ISO 88,
59, 2, also sprich die Erweiterung für slavische Sprachen,
nicht also auch hier vorne, absolut identisch zum Asky-Code,
nicht aber hier hinten bei den Umlauten sind dann eben entsprechend andere Varianten mit drin als jetzt das,
was wir beispielsweise in unserem Zeichensatz kennen, beziehungsweise benutzen.
Nur der Vollständigkeit halber, ISO 8, Nation 59, 15,
ist also auch noch ein Zeichensatz, der also auch in Computern,
also bis vor einigen Jahren immer noch relativ häufig genutzt wurde,
war es dann im Prinzip auch ein leicht modifizierter, westeuropäischer Zeichensatz ist,
wo dann also beispielsweise noch sowas wie Euro-Symbol und noch ein paar andere Erweiterungen mit drin sind,
wo dann also letztendlich auch nur festgestellt wurde,
also bestimmte Zeichen werden nicht so häufig benutzt,
sie hatte man dann gegen andere,
also beispielsweise dann eben dieses Euro-Symbol getauscht.
Und so war es wie ISO 88, 59,
1 bzw. ISO 88, 59,
15 wird oder wurde eben, sagen wir mal,
bis vor einigen Jahren, also auf relativ vielen Death-Rechnern,
also auch im Desktop-Bereich,
beziehungsweise Linux-Unix-Bereich
immer noch benutzt
Inzwischen ist man da dann aber auch zu anderen Zeichensätzen übergegangen,
wo dann eben eigentlich auch eine Vereinheitlichung stattgefunden hat.
Genauso gab es dann eben auch Zeichensätze oder Zeichensatzkodierung,
die dann von Softwareherstellern, sag ich mal jetzt, gewählt bzw. propagiert wurden.
Also das Bekannteste davon, dann also demzufolge von Microsoft die berühmten Codepages. Das sind also im Prinzip die Zeichensätze,
die die IBM-PCs die da dann, sagen wir mal,
ab Anfang der 80er Jahre entsprechende Verbreitung hatten, gesprochen haben,
wo es dann eben auch eine Erweiterung von ASG auf einen 8-Bit-Code gab,
also im Prinzip genauso wie bei den ISO 88,
59 Zeichen setzen, wo dann eben teilweise auch einige Umlaute eingebaut wurden,
wo dann aber im Gegensatz zu dem ISO 8 nach den 59 Zeichen setzen, also auch noch einige spezielle Symbole für die Darstellung von Grafik eingebaut wurden.
Und also auch diese Zeichensätze waren, also eine ganze Zeit lang populär,
beziehungsweise waren dann eigentlich fest an damals letztendlich das Dorfbetriebssystem gekopelt,
wo man dann ihm, wie es auch in die ersten Windows-Varianten hinein,
die entsprechenden Terminal-Zeichensätze dem zufolge zur Verfügung hatte.
Gut, auch davon gab es dann, ich sag mal,
unterschiedlichste Varianten, die dann eben als länderspezifische Codepage, also hier in Europa,
war das dann eben 437 oder entsprechend Codepage 850, genutzt wurden.
Auch davon gab es dann später noch eine Erweiterung um das Eurosymbol.
Und wie gesagt, teilweise entsprechend diese Qualdpages dann also auch
vom Umfang her diesen ISO-Standards. Allerdings mit dem Unterschied,
dass die Sonderzeichen dann also teilweise in anderen Positionen sitzen.
Also hier als Beispiel vom Windows-Zeichensatz, also die Coldpage 850,
also das, was man in der Regel immer auf seinen Rechnern,
versteuropäischen Raum, um eigentlich am Laufen hatte. Wie gesagt,
die Zahlen,
groß und kleinen Buchstaben,
jetzt normal waren also auch erstmal immer völlig kompatibel zum Aski-Standard,
diese entsprechenden Kontrolle oder Sonderzeichen gab es dann allerdings nicht,
sondern dafür wurden dann also hier in dem vorderen Bereich dann eben noch irgendwelche Symbole untergebracht,
beziehungsweise hier hinten zwischen den Umlauten gab es dann teilweise auch noch so Grafiksymbole,
dass man damit dann also auch entsprechend noch mitgearbeitet hatte
Gut, ein Problem früher beziehungsweise heute teilweise auch noch,
ergibt sich eigentlich immer, wenn ich jetzt zwischen unterschiedlichen Rechnern oder unterschiedlichen Rechnersystemen,
Texte austauschen muss. Weil ich kann jetzt natürlich sagen,
wenn ich mich grundsätzlich nur auf Aski-Zeichensätze beschränke,
habe ich keinerlei Probleme,
weil das ist mehr oder minder erstmal alles kompatibel,
weil also die Zeichensätze,
egal an welchem Rechner ich sitze,
sind jeweils abwärtskompatibel mit Aski
Aber wenn ich jetzt eben schon anfange, um lauter zu benutzen,
sofern überhaupt in meinem Zeichensatz drin sind, bekomme ich ein Problem.
Und eine andere Sache, die dann eben auch immer noch auftritt,
was man also teilweise dann auch immer sehr schön sehen kann,
ist, dass auf den unterschiedlichen Betriebssystemen teilweise dann,
also was nun auch eher historisch gewachsen ist,
sehr unterschiedliche Gehirnventionen für das Zeilenende auftauchen.
Und zwar Hier mal so als kleine Tabelle. Also wenn ich jetzt also Unix-artige Betriebssysteme nehme,
also sprich alle Unixe, Linux, die ganzen neueren Mac-OS-Betriebssysteme, BSD-Unix,
aber zum Beispiel eben auch Amiga-OS, kann ich sagen,
okay, grundsätzlich habe ich eigentlich erst mal als Zeichensatz mindestens Asky,
Zeilenende wird eben kodiert durch ein Line-Feed,
also Hex 0A beziehungsweise als Escape-Sequenzen,
also sowas wie ein Control
Ich finde,
damit wird dann eben letztendlich der Text beschrieben im Windows-Bereich,
also sprich Doss, Windows, US2, CPM,
war das Zeilenende immer kodiert durch Carriage Return und Line-Feed.
Das heißt, dort habe ich dann immer diese beiden Zeichen,
die dann eben entsprechend auftauchen. Und auf den älteren Versionen von Mac-Betriebssystem,
also sprich Mac-OS bis Version 9 oder eben auf dem Betriebssystem,
das Apple früher hatte,
war dann,
also das Zeilenende,
kodiert nur durch den Carriage Return
Nur hier der Vollständigkeit halber oder hier als Beispiel in anderen
Betriebssystemen, also zum Beispiel US 390, also was,
was IBM da oder früher mal in den Großrechnern hatte oder aber auch in AIXOS,
da habe ich grundsätzlich eine ganz andere Zeichensatzkodierung,
das ist App-Stick, das ist Extended Bunary,
Coded Desimil Interchange Format,
was also im Prinzip ganz andere Zeichensätze oder Zeichenkodierung
verwendet und dort dann eben mit einem speziellen Zeichen,
also beispielsweise dann eben auch das Zahlenende kodiert
So, und jetzt geht das natürlich schon los,
wenn ich jetzt also irgendwelche Texte oder Textdateien jetzt also als Rheintext
habe und eben von dem einen Rechner zum anderen Rechner bringe,
sieht man, dass es da dann also teilweise sehr unterschiedliche Codierungen, hinsichtliches Zeilenendes gibt.
Inzwischen kann man immer sagen,
also die meisten Texteditoren können immer sowohl mit dem einen,
als auch mit dem anderen,
also zumindest hier in dem Bereich umgehen,
nicht,
aber wenn ich jetzt also grundsätzlich eine ganz andere Codierung habe oder bekomme,
dann müsste man das dann eben auch nochmal entsprechend umsetzen
Nicht für die typischen Sachen, also sprich Informationen zwischen Unix-artigen Rechnern und dosartigen Rechner,
also sprich das, was jetzt hier also diese Unterscheidung zwischen Line-Feed und Carrity Return und Line Feed am Zahlenende sind.
Nicht da gibt es dann eben in der Regel zum Beispiel jetzt bei den Unix-Betriebssystemen dann immer irgendwelche Converter-Tools,
dos-to-Unix oder Unix to-dos, mit denen ich dann,
also letztendlich meine Textdateien entsprechend umkodieren kann, beziehungsweise sowas generell Einsetzbares wie ICON,
fuhr ich dann also auch nochmal komplett unterschiedliche Zeichensatzkodierungen,
zum Beispiel auch für oben laute gegeneinander austauschen kann.
Gut, jetzt hatte er ja schon gesagt, gut,
also von dem ganz einfachen Standardzeichensatz, wo man jetzt sagt nicht,
also amerikanisch geprägt oder westeuropäisch geprägt,
so mit den Zahlen A bis Z in groß und klein und in Ziffern 0 bis 9,
also damit hat man eigentlich in der Anfangszeit der Computerreihe,
also irgendwann in den 60er Jahren gelebt,
inzwischen kann man sagen, naja gut,
Computer oder Rechner werden ja nun nicht nur in Nordamerika oder in Europa eingesetzt,
sondern also auch überall woanders auf der Welt,
wo man also ganz andere Zeichensätze hat.
Und da ist dann eben wirklich letztendlich das Problem,
also wie kriege ich das jetzt hin, meine Zeichen,
Darstellung jetzt in so einer entsprechend globalisierten Umgebung auszutauschen und
meine Informationen also dann eben auch wirklich international übertragbar zu machen
Und grundsätzlich das eine Problem,
was sich dann ja auch noch mal zusätzlich stellt,
was sie auch schon eben angesprochen hatte, wenn ich Dokumente habe,
die es also beispielsweise mehrsprachig sind und wo ich dann in
einem Dokument dann eben auch entsprechend viele unterschiedliche Zeichensätze benutzen möchte,
wie kann ich dann damit verfahren?
So, wie man dann also schwer oder unschwer sieht,
reichen da dann eben letztendlich sowas wie Aski-Code oder eben irgendwelche ISO 8859-Kodierungen nicht aus.
Es gab dann teilweise auch noch mal irgendwelche ISO-Kodierungen,
wo man dann quasi über spezielle Steuersequenzen im Code von einem Zeichensatz auf einen anderen umschalten konnte.
Nicht aber auch das ist natürlich vergleichsweise extrem aufwendig,
wenn ich da jetzt also beispielsweise dann sowas habe,
wie irgend so eine Codepage dann mit irgendeiner Steuersequenz und sage,
jetzt sollen also irgendwie nur ein Zeichen von irgendeiner ganz anderen Codepage kommen,
nicht und anschließend dann wieder zurückschalten muss auf die ursprüngliche Codepage,
war ich jetzt eben eigentlich normalen,
meinetwegen jetzt deutschsprachigen Text irgendwo habe,
dass es dann eben eigentlich auch
nicht praktikabel
Deswegen gibt es dann eben als universelle Zeichensatzkodierung Unicode,
was dann eben auch von einem internationalen Konsortium gepflegt wird,
wo es darum geht,
also letztendlich wirklich die Zeichen von beliebig vielen Sprachen,
also hier ist jetzt also beschrieben,
alle Zeichen aller Bekannten lebenden und toten Schriftsysteme,
ich habe die Zeichen von beliebig vielen Sprachen
irgendwie eindeutig darstellbar zu machen
Unicorde beziehungsweise das, was man dann eben auch immer sieht,
abgekürzt, OCS, Universal Character Set, ist eben inzwischen,
sag ich mal, auch so weit verbreitet,
dass Unicorde Darstellungen eben auch universell jetzt eigentlich von allen möglichen Betriebssystemen verarbeitet werden können und nicht,
also ich kenne das auch immer nur aus eigener Erfahrung,
also wenn man so ein bisschen Rechner aufsetzt oder macht,
also auch sogar im Linux-Bereich hat sich, sag mal,
innerhalb der letzten fünf Jahre dann eben auch genau jetzt sagt,
dass man jetzt eben von irgendwelchen ISO 88, 59 irgendwas als Standardkodierung dann eben zu Unicode-Kodierung übergegangen ist, war man damit dann eben wirklich universell, Sahne-Zeichen darstellen kann.
Gut, neben den Kodierungen müssen dann natürlich dann auch irgendwie entsprechende Schriften oder Schriftarten definiert sein, dann also letztendlich erst mal sei mal grafisch diese Symbole darstellen, die wir da dann eben sehen. Wie gesagt,
wenn man sich das selber mal ansehen will, was es gibt,
also hier sind dann die entsprechenden Links und, also wenn ich jetzt,
dass ich hier mal im Browser auf die Unicode-Seite gehe und dann also hier unter Charts,
also entsprechend gucke, sieht man dann also eben hier,
was dort letztendlich an Schriften oder Schriftarten alles definiert ist,
eben europäische, beziehungsweise auch, sagen wir mal,
nordamerikanisch oder was weiß ich, also Schriften und Schriftarten,
afrikanisch, mittlerer Osten, Südasiatisch, Südost-asiatisch,
Ostasiatisch und so weiter und so fort, wo dann eben wirklich,
das war jetzt mal so schnell drauf gedrückt,
wo dann eben wirklich für alle möglichen Schriften und Schriftsysteme,
letztendlich Zeichensätze, kodiert sind, war es dann eben wirklich,
bis zu sehr speziellen Sprachen dann eben geht,
also wie jetzt also beispielsweise hier,
also unter American Scripts,
wo dann also irgendwie Cherokee oder Deserett oder was
auch immer dann entsprechend dargestellt werden kann,
beziehungsweise entsprechend standardisiert ist
Gut, also wie gesagt, mit diesem Unicode-Kodierung angefangen,
hat das Ganze eben Anfang der 90er Jahre,
wo man dann eben erstmal, sagen wir mal so,
mit den üblichen europäischen und beziehungsweise nahe östlichen Sprachen dann angefangen hatte.
Nicht später kamen dann also die ersten chinesischen Zeichensätze,
sondern in diesem Fall dann Handchinesisch dazu. Inzwischen,
also jetzt 2012 wurde gerade Standard 6.2 festgelegt und inzwischen sind also mit diesem Unicode-Standard,
also über 110.000 Zeichen letztendlich darstellbar. Bei der Unicode-Kodierung war es so,
dass man also im Prinzip ursprünglich 16 Bit-Pro-Zeichen immer genommen hat,
was dann also quasi erstmal diese erste Basic Multilingual Plane definiert.
Die Unicode-Zeichen wurden da dann eben dann auch entsprechend immer hexadezimal geschrieben
als Groß-U plus und dann eben entsprechend vier Hex ziffern,
nicht womit ich dann im Prinzip jetzt hier meinen 16-Bit kodiert habe und eben hier in diesem entsprechenden Wertebereich ich dann eben meine Zeichen mit drin habe.
Die Unicode-Kodierung selber ist dann also auch Teil der zumindest damals dann also neun und aktuellen Programmiersprachenentwicklung geworden,
das heißt also zum Beispiel in Java habe ich dann eben für die Strings,
also auch die Möglichkeit,
also von diesen 16-Bit-Unicode-Zeichen dann eben auch beliebige Zeichen explizit auszuwählen,
nicht indem ich dann eben einfach so ein Backslash-U und dann eben die entsprechenden Hacks zahlen,
Werte eingeben kann, um dann eben die entsprechenden Unicorn-Zeichen auszuwählen.
Also zum Beispiel kann ich damit 2.0, A,
C, beispielsweise das Eurosymbol auswählen oder mit 0,3,
A, 9, also dann so ein griechisches Omega auswählen.
Gut, jetzt ist es natürlich so, dass ich also,
ich habe ja gerade gesagt, also aktueller Unicode-Standard etwas über 110.000 Zeichen,
also schon über 2016 Zeichen bin.
Demzufolge gibt es da dann eben Erweiterungen, um sogenannte Extended Plains,
wo dann entsprechend längere Zeichensatzkodierungen einfach verwendet werden,
die dann über eine besondere Darstellung gekennzeichnet werden müssen.
Wo Unico dann auch in letzter Zeit Verbreitung gefunden hat,
auch eben gerade vor diesem Hintergrund internationalen Wertenaustausch,
ist dann eben auch im Webseiten
Also früher waren Webseiten oder HTML-Code überwiegend, ISO 888959 kodiert,
inzwischen verwendet man dann eigentlich häufig oder meistens entsprechend als Character-Set, UTF8.
Und wie sieht das in den Webseiten dann eben aus im HTML?
Header wird explizit jetzt eben gesagt,
welcher Zeichensatz benutzt wird und der Browser,
mit dem ich mir dann, also die HTML-Seiten ansehe,
kann dann eben hoffentlich,
also mit diesem String-Character-Set,
UDF8 entsprechend was anfangen
Dann eben die Zeichen oder die dargestellten Zeichen darstellen beziehungsweise reinlernen.
Als Beispiel, was auf Webseiten letztendlich möglich oder machbar ist.
Gibt es dann also hier unter diesem Link, mal sehen,
ob das jetzt hier so klappt, dann mal eine Referenz,
wo dann also wirklich in einer HTML-Seite also sehr viele unterschiedliche Zeichensätze dargestellt werden.
Und wenn man sich das dann also hier mal in seinem Browser ansieht,
also hier oben nur mal so als kleiner Ausschnitt,
also diverse Sonderzeichen, also jetzt hier von irgendwelchen Währungssymbolen.
Und dann kommen eben hier verschiedene Beispiele, wo dann von Runenschrift, über,
sagen wir jetzt ganz normale Texte aus unterschiedlichen westeuropäischen Sprachen dann eben über Griechisch,
russische Sprachsätze, georgische Zeichensätze und so weiter, alles Mögliche dargestellt ist.
Und sag mal, je nachdem, Was man,
also jetzt in seinem Browser beziehungsweise Betriebssystem dann also letztendlich ein Zeichen setzen,
geladen hat und darstellen kann,
sieht man dann eben auch entsprechend entweder diesen Text oder wenn das jetzt also vom Betriebssystem her nicht angezeigt werden kann,
was also dann auch durchaus möglich ist,
sozusagen als sie das hier zumindest bei mir noch ganz gut aus.
Na gut, also Bomesisch habe ich hier nicht so richtig zur Verfügung,
nicht, dann sieht man da dann eben nur irgendwelche komischen Platzhalter,
die dann eigentlich zeigen sollen,
wenn ich den Zeichensatz installiert hätte, hier auf dem Rechner,
würde ich da dann eben vielleicht auch noch irgendwie was
mehr oder minder Sinnvolles sehen
Gut, also mit solchen Unicode-Beschreibungen hat man dann eben auch die Möglichkeiten,
also gerade wie man das jetzt eben auf den Webseiten sehr schön gesehen hat,
in einem Dokument sehr viele unterschiedliche Zeichensätze darzustellen.
Gut, also hier das Ganze,
dann nochmal zum Nachvollziehen in Form von irgendwelchen Screenshots.
Ansonsten ist da genau das Gleiche drauf wie das,
was ich eben live gezeigt habe
Bei dem, was wir in der Regel benutzen,
als Unicord-Zeichen, also sprich der ganz normale lateinische Zeichensatz,
da wird dann im Prinzip, oder werden dann die Unicord-Zeichen,
also in dem Bereich von null bis 07 F benutzt,
die sind dann eben auch wieder, genau wie alles,
die entsprechenden anderen Zeichensätze kompatibel zum Aski-Zeichensatz,
und zusätzlich habe ich dann eben noch in dem Zwei Einsatz,
Slattin A,
dann eben die ganzen europäischen Umlaute und Sonderzeichen mit drin.
Wie gesagt, auf den Unicode-Seiten bzw. hier unter diesen entsprechenden Links
kann man sich dann eben auch nochmal die jeweiligen Tabellen dazu ansehen.
Gut, neben den ganzen Sprachsimo oder Symbolen aus unterschiedlichen Sprachen
habe ich dann in Unico teilweise auch noch Zeichensätze,
die also ähnlich wie jetzt zum Beispiel das in den Microsoft-Code-Pages der Fall war,
zusätzliche Darstellungen haben für irgendwelche Pfeile, für irgendwelche Operatoren.
Das heißt, wenn man jetzt eben entsprechend mathematische Symbole oder
Ausdrücke beschreiben möchte oder auch irgendwelche Sonderzeichen,
die jetzt aus einigen Schriftfamilien kennen oder benutzt werden,
beispielsweise, also dies Schriftfamilie Dingbarts,
die also auf Mac
Microsoft-System dann auch eigentlich auch immer benutzt wird,
um jetzt also zum Beispiel solche Symbole für ein Briefsymbol,
irgendwelche Sterne und irgendwas darstellen zu können.
Gut, asiatische Sprachen, also wie gesagt, chinesisch,
also auch da gibt es dann eben hier die entsprechenden Verweise
auf die ganzen unterschiedlichen Zeichensätze.
Wie gesagt, auf den Unicode-Seiten selber,
also sprich auf dieser einen Seite mit diesen Charts,
die ich eben aufliegen hatte,
sah man dann ja auch schon sehr schön,
was dort alles
letztendlich dargestellt werden kann
Eine andere Möglichkeit, sich die unterschiedlichen Zeichensätze jetzt auf seinem Rechner
dann auch mal so ein bisschen zu visualisieren oder anzusehen,
wäre dann eben ein Beispiel,
was sich aus den Java-Demos herausgenommen habe, den entsprechenden Code,
beziehungsweise einen Download-Link habe ich also auch auf die Webseite zur Rechnerstrukturen gelegt.
Und da gibt es dann also diesen Java
2D Fond Viewer, also dieses hier jetzt als Screenshot,
aber ich habe das Ganze hier natürlich dann auch.
So, dass man das also hier auch nochmal live zeigen kann.
Nicht und was man skaliert das, ja, skaliert so ein bisschen so.
Und das, was man also hier dann eben sieht,
wer dann eben beispielsweise jetzt Unicord-Bereich, Basic Latin,
also im Prinzip von 0 bis 07, eh nicht.
Und hier von der Kodierung her eigentlich auch genau das,
was also letztendlich Asky-kompatibel ist.
Aber wenn ich dann also hier das aufmache,
könnte ich dann eben hier in andere Zeichensätze oder Zeichenbereiche reingehen.
Ich also beispielsweise jetzt hier für griechischen Zeichensatz
Ich und habe dann aber hier dann eben hier auch noch alle möglichen anderen Sprachen oder Sprachsymbole.
Gut, da ist jetzt nichts definiert, chinesisch probieren. Also hier,
wenn jetzt also zum Beispiel noch so was unter Currency,
Simbles zum Beispiel, also hier dieses Euro-Zeichen,
also als Unicode 2.0 AC, also das,
was ich eben auch schon auf der Folie hatte.
Man kann sich dann eben hier wirklich zu den einzelnen Bereichen
ansehen, was dort alles definiert ist.
So, hier sieht man zumindest mal so. Competibilität,
auch nur, weil es kann irgendwie so ein bisschen chinesischen Zeichensatz,
aber Ja, da beispielsweise.
Hätte man dann also relativ viel chinesischen Zeitensatz dann eben auch entsprechend zur Auswahl.
Gut, also das nur als Beispiel dazu,
was man sich da dann dementsprechend ansehen kann.
Also wie gesagt, das können Sie da natürlich dann
auch auf Ihren eigenen Rechnern gerne mal nachvollziehen.
Gut, bei der Darstellung von Unicord-Zeichen hatte ich ja eingangs
gesagt, im ursprünglichen Standard
Wurden für jedes Zeichen 16-Bit verwendet. Nicht in dieser ersten Plane
habe ich da in dem Zufolge, also 65.555.536 mögliche darstellbare Zeichen.
Wenn ich jetzt so eine Zeichensatztabelle irgendwo geladen habe,
beziehungsweise die ist jetzt ja irgendwo nachher im Hauptspeicher des Rechners,
kann ich da natürlich dann also sehr schön einzelne Zeichnern
quasi über Ray-Zugriffe,
also sprich einfach über Indizes
entsprechend an
Auswählen und kann damit dann eben auch vergleichsweise schnell jetzt,
also aus dieser großen Menge von Zeichen was auswählen. Nachteil dieses Unicode,
oder dieser Unicode-Kodierung jetzt mit 16 Bild ist natürlich erstmal,
dass ich letztendlich verglichen mit Asky oder eben den ISO-Zeichen setzen,
wo ich ja nun sieben bzw. acht Bit pro Charakter unterscheide,
einen doppelten Speicherbedarf habe.
Und die andere Sache, Ja, letztendlich, genau.
In Java wird dann Unicode oder 16 mit Unicode dann eben
quasi auch direkt schon als Datentyp-Charakter unterstützt.
In der Entwicklung von dem Unicode-Standard wurden dann,
als man dann eben entsprechend mehr Zeichensätze unterschieden hatte,
dann eben auch schon etwas eingeführt,
wo man dann eben quasi auch mehrere überlagernde Tabellen hatte,
die dann jeweils entsprechend diese Anzahl von Zeichen unterschieden konnten oder
unterscheiden konnten
Was dann natürlich dazu führt, dass insgesamt dann,
also der Speicherbedarf nicht, also wenn man jetzt sagt,
also ich unterscheide dann eben nochmal jetzt mit,
beispielsweise in der 32-Bit-Darstellung, was dann natürlich also den Speicherbedarf
gegenüber seiner normalen Isokodierung dann eben nochmal deutlich aufwartet nicht.
Also da würde ich dann dementsprechend ein Zeichen,
wenn ich jetzt in 32-Bit kodiere, hätte ich dann,
also einen vierfachen Speicherbedarf gegenüber Iso 88,
59,
Deswegen, und das ist das, was,
sagen wir mal, heute meistens benutzt wird,
und das war so, also zum Beispiel jetzt,
also hier auf dem Rechner ja nun auch irgendwie gemacht und eingesetzt wird,
sieht man dann eben auch zu, dass man eigentlich Unicord-Kodierungen wählt,
wo dann die Zeichen Wortlänge unterschiedlich lang sein kann,
wo dann also, sagen wir mal,
von der Idee her erstmal ähnlich wie beim Morse-Code gesagt wird,
naja gut, also das, was sich so als Standard habe,
also sprich irgendwie asky und den ISO 88859-1-Zeichensatz.
Das, was also am häufigsten verwendet wird, sehe ich eben zu,
dass sich das Ganze in eine 8-Bit-Darstellung bringen kann.
Und nur wenn ich jetzt eben irgendeinen, welche vergleichsweise selten verwendet, in chinesischen Zeichen darstelle, müsste ich dann eben entsprechend größere Wortlängen für die Zeichensatzkodierung wählen. Deswegen gibt es dann etwas,
was dann eben entsprechend UTF8 oder UDF16 genannt wird,
wo man dann also letztendlich unterscheidet, Mit unterschiedlich langen Codierungen,
also hier jetzt entsprechend zum Beispiel jetzt aus der deutschen Wikipedia,
also mal der Screenshot für OTF 8,
wo ich dann eben sage, gut, die normalen westeuropäischen Buchstaben,
die kann ich dann eben jeweils in 8-Bit codieren,
kompatibel zu Aski bzw. ISO 88, 89, 59,
Zeichensatzkodierung, wenn ich sowas wie umlaute, codieren möchte,
was dann ja also schon ein bisschen spezieller ist,
wo ich dann eben sage, na gut,
also ich brauche jetzt eben Umlaute, die jetzt also da westeuropäisch,
also hier in Deutschland benutzt werden oder ich brauche jetzt eben irgendwelche osteuropäischen Umlaute,
was auch immer,
dann wird das eben nach dem UTF-8-Standard dann also schon in Zweibad kodiert.
Nicht damit, Entschuldigung, damit kriegt man dann eben schon
sowas wie jetzt also hier so einen Buchstaben Ä oder jetzt
eben hier irgendwie einige andere häufiger verwendete Sonderzeichen entsprechend hin.
Weniger häufig benutzte Zeichen, also beispielsweise das Eurosymbol,
wird dann also schon in Dreibad, kodiert und eben etwas,
was also vergleichsweise selten benutzt, wird also ein Violin-Schlüssel.
Dann eben in diesem Fall jetzt also hier in Vierbarheit. Und je nachdem,
wie viele Byte, also dann diese Unicode-Kodierung umfasst,
habe ich dann eben entsprechend jetzt meine häufig benutzen oder meine entsprechend selten benutzten Zeichen unterschieden.
Gut, wie sehen beispielsweise jetzt für UTF 8 diese Kurdierung aus? Also wie gesagt, hier ist das Ganze jetzt erstmal schematisch dargestellt. Nicht da sagt man,
Ich kodiere, dass bei Ude, Entschuldigung,
UTF 8 das Ganze so, dass ich eben quasi jetzt sage,
solange das erste Zeichen oder das erste Bild eine Null ist,
habe ich jetzt eben nur entsprechend hier acht Bit zur Verfügung kann damit dann dementsprechend meine 128 häufigsten Zeichen kodieren,
wenn das erste Bit eine Eins ist, ist damit kodiert,
dass es sich dann eben um ein Multibye-Zeichen handelt und je nachdem,
wie viele Einzelne danach kommen, wird dann eben unterschieden,
wenn jetzt eine Eins kommt,
habe ich dann eben zwei Byte, wenn zwei Einsen kommen,
drei Byte und wenn vier Einsen kommen, entsprechend vier Byte,
die dann eben unterschieden werden und in den einzelnen Bytes habe ich dann eben zur Kodierung,
weil etwas was dann also quasi hier immer nicht vorkommen kann,
vorneweg eine 1-0 stehen, womit dann auch immer eindeutig klar ist, dass es sich dann letztendlich um Folge by zu einer UTF acht Codierung handelt.
Gut, und das war es dann eben letztendlich hier in
dieser Tabelle oder in dieser Grafik dann immer noch mit diesen Sternchen markiert ist,
das sind dann eben letztendlich die nutzbaren Bits,
mit denen ich dann meine unterschiedlichen Zeichen darstellen kann.
Und wie gesagt, also mit dem FF8, beziehungsweise mit dem Einbeizeichen,
hätte ich dann eben noch 128 Zeichen zur Verfügung.
Nicht in der nächst höheren Stufe,
wenn das dann schon 1.920 und komplett dann eben letztendlich bis zwei
hoch 21 und nicht also auch dann ließ sich dieser Standard noch erweitern.
Theoretisch könnte man dann eben,
also jetzt ist es eben erstmal hier nur bis vier Folgebits beschrieben,
aber dann eben oder folgebar ist, könnte ich dann eben bis zu sieben Folgebytes beschreiben.
Das heißt, man hätte dann maximal zwei hoch 42
Zeichen kodierbar
Gut, neben den Zeichensatzkodierungen, wenn ich jetzt also davon spreche,
also ein Rechner soll jetzt irgendwo international eingesetzt werden, spielen dann natürlich also auch noch irgendwelche Einstellungen eine Rolle,
die jetzt internationale Geflogenheiten hinsichtlich der Darstellung von Informationen,
also sprich Datums- und Währungsformate beinhalten oder wo es dann eben im Prinzip um die Sprache der Benutzeroberfläche oder um Tastatur-Layouts und Tastaturbelegungen geht.
Und auch das Ganze ist dann also in Standards,
also beispielsweise DSI18N, also die Internationalisation,
in solchen Standards letztendlich festgelegt, wo ich dann eben unterscheiden kann,
Was dann Asama jetzt also sehr praktisch ist,
also auch hinsichtlich der Codierung,
wenn man jetzt also selber Programme dann eben schreibt,
dass sich über solche Standards dann eben auch sagen kann,
ich möchte jetzt also irgendwo ein Datum ausgeben und ich muss mich jetzt eben nicht darum kümmern,
dass da so ein Datum beispielsweise jetzt in Europa immer als oder nein,
andersrum, also jetzt hier in Deutschland,
also zum Beispiel ist immer als Tagmonat, ja,
ausgegeben wird mit beispielsweise Punkten getrennt und in angelsächsischen Raum,
also beispielsweise schon mal Tag und Monat
In der Reihenfolge vertauscht sind. Nichts,
sondern ich schreibe einfach entsprechend mal einen Code und über solchen Mechanismen,
die dann also mit diesen Internationalizations arbeiten,
kann ich dann eben dafür sorgen,
dass wenn ich dieses Programm dann eben auf einem Rechner entsprechend umsetze,
der dann also beispielsweise jetzt in England nachher eingesetzt werden soll,
dass dann dort entsprechend richtig ausgegeben wird und ich da dann
in der Programmierung nicht noch irgendwo unterscheiden muss,
lasse ich das jetzt also hier laufen oder lasse ich
das also irgendwo in England laufen
Gut, also auch dafür gibt es dann eben sehr viele unterschiedliche Standards,
teilweise an Betriebssysteme teilweise auch in Programmiersprachen geknüpft.
Also so habe ich dann eben unter Linux beziehungsweise Posics-Einstellungen dann eben so eine lokale Funktion,
wo dann also in der C-Bibliothek, also in der entsprechenden Standards,
C-Bibliothek jetzt für die Programmiersprache ziehe, ich über dann eben entsprechende Befehle,
dass mir das anzeigen lassen kann, beziehungsweise umschalten kann.
In Java ist was Entsprechendes beschrieben und gut Betriebssystemseitig kann man eben auch sofern also die entsprechenden Bibliotheken dann dahinter stehen,
also sagen wir mal so bei Linux-Systemen,
also die Sprache komplett umschalten und also auch bei Windows-Systemen ist es also auch möglich über Systemschlüssel entsprechend internationale Systeme aufzusetzen,
wo man dann eben sagt, ich schalte komplett,
also sämtliche Menüs anschließlich Begrüßungsbildschirme und so weiter,
von Deutsch nach Englisch,
nach Chinesisch um
Gut bei den Texten oder Textkodierungen hatte ich ja schon angesprochen,
hat man dann ja häufig immer das Problem, dass es da sehr viele sehr unterschiedliche Kodierungsmöglichkeiten oder Standards gibt, um diese jetzt ineinander umzuwandeln.
Also hier nur mal kurz aufgelistet, so einige Beispiele,
wie man also jetzt beispielsweise mit solchen Befehls Stores to Unix oder Unix to Doss jetzt also zum Beispiel in ganz normalen Standardtexten,
die Zahlen enden entsprechend, umschalten kann,
wo ich dann eben dafür sorgen kann,
dass also von einer Quelldatei in einer Ausgabedatei umgewandelt wird und ich das dann eben einmal von einer Quelle in Aski-Formaten mache,
in ISO-Format oder in ein Mac-Format,
also je nachdem,
also ob ich da nun Carritre Return Line Feed oder eben entsprechende Kombinationen für die Zahlen enden benutze.
Nicht gleiches, kann ich dann eben auch benutzen,
um also beispielsweise jetzt in den Zeichenkodierungen, Umwandlungen zu machen,
beispielsweise jetzt für Unix und Doss Windows,
also im Prinzip ist diese Coldpage 850 Codierungen
Und noch universeller kann man das also mit solchen Tools machen,
wie dieses e-Con fast. Also zum Beispiel jetzt also auf
irgendwelchen Linux- oder Unix-Systemen dann immer zur Verfügung steht,
wo ich dann eben wirklich neben vielen anderen Parametern dann eben explizit sagen kann,
also aus welcher Zeichensatzkodierung komme ich, in welche Zeichensatzkodierung geht das hin.
Und da dann eben im Prinzip beliebige Formatkonvertierung machen kann,
eben einschließlich sämtlicher Umkonvertierung dann eben auch für die Sonderzeichen
Nicht, weil das ist immer gerade das,
wo es auffällt, also mir ist es immer früher aufgefallen,
wenn ich, also jetzt irgendwelche E-Mails bekommen habe,
wo das dann eben teilweise zum Beispiel jetzt nicht automatisch passiert,
die Leute haben das also irgendwo jetzt auf dem Mac geschrieben,
nicht das Land, sondern also bei mir,
also jetzt hier irgendwo auf dem Linux-Mail-Client,
nicht und überall da, wo dann also irgendwo Sonderzeichen sind,
hat man dann eben nur irgendwie so einen komischen Platzhalter,
nicht formulant, also gut,
dann durch entsprechende Code
Assoziative Code ersetzt, sondern also feststellt, also was,
was dann dort eigentlich reingehört. Okay, also aus dem normalen Text,
da kriegt man das noch entsprechend gut hin, nicht,
aber ansonsten habe ich da schon ein Problem.
Gut, gerade in Bezug jetzt also auf solche Mail-Problematik möchte ich
dann also nochmal auf was anderes auch zu sprechen kommen,
was sich jetzt hier als Base 64-Kodierung beschrieben habe.
Da geht es jetzt nämlich auch noch darum,
also wie kriege ich das beispielsweise jetzt hin,
auch irgendwelche Binärdaten beispielsweise von einem Rechner zu einem anderen Rechner
zu übertragen
Ja, also so ist es beispielsweise so, dass das SMTP,
also das Standard-Mail-Protokoll, was das im Internet verwendet wird,
grundsätzlich erstmal nur, weil es natürlich entsprechend alt ist, sieben Bett-Asky-Darstellung unterstürzt.
Und wenn ich jetzt sage, ich möchte jetzt irgendeine Musikdatei,
irgendeinen Film oder beispielsweise irgendein Stück Programm,
was auch immer, als Mail-Anhang an jemand anders versenden,
dann kann ich jetzt natürlich nicht sagen,
ich nehme also einfach diese Binärdatei,
hängen die da irgendwo ran als Attachment und schicke das los.
Sondern das war's
Immer passieren muss, ist, dass diese Dateien entsprechend umgesetzt werden,
weil sie sonst also im Prinzip von diesem Protokoll nicht übertragen werden können,
in eine 7-Bit-Asky-Darstellung. Früher war das so,
dass man diese Umkonvertierung explizit manuell von Hand starten musste,
wo ich dann eben sage,
ich habe jetzt also irgendeine Binärdatei, die konvertiere ich entsprechend,
habe dann also sowas wie eine riesig große Textdatei,
die kann ich
als Mail-Attachment verschicken
Und beim Empfänger muss man das dann dementsprechend auch wieder von Hand auseinandernehmen.
Inzwischen ist es also glücklicherweise so, dadurch,
dass das alles mehr oder minder stark auch standardisiert ist,
dass das eben eigentlich auch automatisch passiert. Und wir heutzutage,
wenn wir jetzt eben irgendwo als Mail-Attachment irgendwo was bekommen,
was dann eben auch eine Binärdatei sein kann,
davon also nichts mehr mitbekommen.
Was natürlich dazu führt, dass man also wunderbar einfach dann
eben Binärdateien, Viren oder was auch immer jetzt verschicken kann.
Was früher also von Hand so erstmal nicht ging,
weil man da die Attachments, also sowieso erstmal von Hand umkulieren musste.
Aber letztendlich passiert eben auch heute immer noch diese Umsetzung in diesen Sieben-Bit-Asky-Code.
Und das geschieht in der Regel nach einem Verfahren Base,
was sich Base 64-Codierung nennt, was also auch standardisiert ist,
wo dann im Prinzip aus einem beliebigen Binärformat dann eine Asky-Tex-Datei erzeugt wird,
die dann eben nur Buchstaben ziffern und drei Sonderzeichen benutzt.
Und zwar funktioniert das Verfahren also folgendermaßen
Dass man jetzt immer drei, acht Bit byte nimmt.
Wie gesagt, hier können jetzt also beliebigen Folgen von Nullen und Einsen drinstehen.
Das müssen jetzt also nicht irgendwelche sinnvollen Zeichen sein,
sondern wie gesagt, ich kann damit also auch beliebigen Content,
beziehungsweise von Programmcode über Multimedia-Dateien, alles Mögliche, umkodieren und verschicken.
Das wird jetzt eben Arthur erstmal in letztendlich als einzelne Bytes gesehen oder interpretiert.
Und diese Bytes werden dann immer als sechs Bit-Zeichen eines ganz
normalen Zeichensatzes umkodiert bzw. interpretiert. Demzufolge passiert jetzt eben Folgendes,
dass ich jetzt also für drei solcher Weit mir daraus vier,
sechs bezeichnen generiere und das geschieht dann eben so,
dass ich Hier jetzt beispielsweise jetzt hier von dem ersten Byte,
also die obersten sechs mitnehme, das als ein Zeichen interpretiere,
anschließend dann eben die nächsten,
also die verbleibenden Zwei-Bit und dann eben die oberen vier wird des zweiten Bytes als zweites Zeichen und so weiter und so fort.
Und bei dieser Zeichenkodierung gibt es dann eben ein festgelegten Kot,
mit dem dann im Prinzip jetzt von den sieben Bit-Asky-Symbolen
im Prinzip 64 Zeichen benutzt werden,
nämlich also Großbuchstaben A bis Z,
Kleinbuchstaben A bis Z,
die Ziffern 0 bis
Ein Plus oder ein Slash, als Zeichen. Und sämtliche Mitfolgen werden dann eben in solche,
entsprechend dieser Kodierungsvorschrift eben jetzt in solche Asky-Zeichen umgesetzt.
Zusätzlich gibt es dann eben noch neben diesen 64 normalen Zeichen das Gleichheitszeichen,
was dann quasi als Füllzeichen verwendet wird,
falls eben die Anzahl der ursprünglichen Bytes, also nicht durch dreiteilbar ist,
weil ich ja immer drei Bytes nehme und daraus dann eben vier solcher Zeichen generiere,
nicht und zusätzlich gibt es dann eben noch einen Zahlenumbruch in der Regel,
dann eben auch noch eine vergleichsweise Kleinanzahl von Zeichen,
um da draußen also wirklich eine einzige große Textdatei zu berechnen.
Und was man dann eben macht, also hier nun mal als Beispiel,
wäre dann also in diesem Fall, also Entschuldigung,
in diesem Fall jetzt, also hier beispielsweise eine Datei,
wo jetzt also Text in Asky genommen wird und umkodiert wird,
nicht und wo ich dann also beispielsweise Großbuchstaben, M,
der jetzt also quasi als Asky-Code diesem String hier entspricht,
dann eben um Codiere aufgrund dieser Umrechnungsvorschrift dann eben in den Index 19,
was dann also nach dieser Darstellung dann eben der Großbuchstabe
Tee wäre und eben hier diese entsprechenden beiden wird es dann
eben hier in den weiterer Umkodierung eingehen
Gut, also hier anhand dieser Tabelle sieht man also letztendlich nochmal, wie dieses Verfahren generell funktioniert.
Wie gesagt, wenn die Anzahl der Bar jetzt,
also jetzt nicht groß genug ist, um das aufzuzahlen,
werden dann eben noch diese Gleichheitszeichen am Ende zum Auffüllen gemacht.
Nicht das, was man dann aber letztendlich erhält,
egal was man kodiert, ob das jetzt hier so ein Text ist,
wie jetzt hier angedeutet oder eben irgendwelche anderer Content,
ist dann eben eine Textdatei, die dann im Prinzip sieben Bit kompatibel ist,
wo dann oder die dann eben auch entsprechend diesem SMTP-Protokoll übertragen werden kann.
Gut, aufgrund dieser Umkodierung habe ich natürlich in der Regel erstmal eine deutlich größere Datei,
weil ich jetzt ja so nicht grob gesprochen,
hier ist Masam mal aus drei Buchstaben, vier Buchstaben mache,
das heißt also die resultieren der Datei,
Ungefähr erstmal so 33 Prozent größer als das Original, bestimmt nicht ganz,
nicht, aber im Prinzip wird das Ganze dann nachher ja auch wieder in sieben beziehungsweise acht Bit kodiert.
So, entsprechende Umrechnungsroutinen für so eine Base 64 Coudierung sind dann eben auch in vielen Programmiersprachen schon fertig enthalten,
habe ich also beispielsweise Java Development Kid,
hat man dann zumindest in einem in den offiziellen internen Tal,
dann eben auch sowas wie entsprechende Klassen, Base 64,
N-Co oder beziehungsweise Base 64, Deko da,
oder es gibt eben auch diverse Open-Source-Implementierungen,
wo ich dann eben auch hier mit solchen Base 64 Input oder Output-Streams entsprechend codieren kann.
Hier dann also auch nochmal zum Beispiel,
wie das Ganze dann aussieht bzw. benutzt wird,
also hier jetzt also aus dem Java-Buch,
also da,
was auch eine Insel von war es ja dann also auch als Open Book Galileo Design entsprechend sich anzusehen ist,
nicht und hier in diesem einen Beispiel hätte man eben hier auch genau die Beschreibung jetzt für so eine,
die diese Klasse Base 64,
die Emo,
wo dann im Prinzip dieser Encoda bzw. Deko da benutzt wird und wo dann eben im Prinzip im Streng,
wenn ich also beispielsweise dann eben in so eine reine Textdarstellung
umgesetzt werden kann
Gut, damit bin ich jetzt mit diesem Teil Zeichen und Text soweit für heute fertig. Also hier noch mal so ein bisschen Literatur. Ich werde jetzt die letzte knappe Viertelstunde dann schon mal ein bisschen anfangen,
auch noch mal mit einigen Sachen zu dem Thema logische Operation,
wo es dann darum geht, im Prinzip,
nachdem ich ja nur vorletzten Kapitel,
der ist eigentlich Arreth Mete, also Arreth Metik vorgestellt hatte,
nachdem wir also die Zahlendarstellung letztendlich hatten,
wie man wirklich jetzt mit annabulischen Algebaren,
mit bulschen Operationen auf irgendwelchen Daten oder irgendwelchen Werten arbeitet,
nicht welche logischen Operationen es da gibt und eben auch mit einigen Anwendungsbeispielen dann also schon zeigen möchte,
wofür man sowas dann eben rein praktisch benutzt,
weil also gerade in der Programmierung ist es dann eben auch wirklich häufig so,
dass man Viele Sachen,
eben nicht nur mit irgendwelchen arathmedischen oder mit irgendwelchen String-Operationen macht,
sondern auch viel mit logischen Operationen arbeitet und zumindest,
wenn man also irgendwo auf relativ effizienter unter Rabit-Ebene irgendwo arbeitet oder arbeiten muss,
weil man das vielleicht braucht, weil irgendwelche Protokolle,
sage ich mal,
jetzt irgendwo abgefrühstückt werden sollen,
man dann eben genau sowas implementieren müsste.
Gut,
vorneweg nochmal
Kurze Wiederholung, sollte,
sag ich mal, eigentlich aus der Schulmathematik bekannt sein.
Bullshir Algebra. Nicht, was ist das? Gut,
sag mal so eine abstrakte Algebra oder generell AG-Berinnen beschreiben ja
im Prinzip gemeinsame Eigenschaften und eben auch irgendwelche mathematischen Operationen,
die jetzt auf irgendwelchen Systemen definiert sind.
Und eine AG-Bar wird dann eben letztendlich beschrieben durch die Arte-Elemente
Das heißt, womit rechne ich nicht? Also rechne ich
jetzt mit Zahlen? Nicht mit welchen Zahlen oder Zahlendarstellungen rechne ich?
Oder eben in dem Fall, er ist der Bulschen Algebar,
befinde ich mich da jetzt, also mit Aussagen,
also Aussagelogik, wo ich dann eben sage,
True oder Falls, nicht welche Verknüpfungen sind dann eben letztendlich definiert.
Bei den Zahlen haben wir das ja schon gesehen,
in dem Kapitel zu Adam Metik,
also sprich Addition und Multiplikation und was dann dort in den
entsprechenden Zahlensystemen gilt
In dem Zusammenhang hatte ich dann ja eben auch entsprechend vorgestellt jetzt,
also für die entsprechenden Ageberinnen,
wie sieht das dann eben aus mit den jeweiligen Gesetzen,
also was gilt dort, Kommutativgesetz assoziativ gesetzt und so weiter,
wie sieht das mit entsprechenden zentralen Elementen aus,
also 0-1 inversen Elementen und so weiter und so fort.
So, solche Rechnereien jetzt mit Zahn- oder Agebern
werden dann eben häufig noch benutzt,
um auch wirklich bestimmte mathematische Eigenschaften von Zahnsystemen
zu beweisen
So war es jetzt eben genau interessant ist,
wird dann also jetzt dann bei dem noch folgenden Kapitel 9 zur Codierung auftreten,
wo es dann also beispielsweise darum geht,
also zum Beispiel jetzt also Fehlerkorrekturen von Codes,
wie sie also beispielsweise so auf irgendwelchen CD-Formaten oder sowas standard,
wie sie jetzt sind, zu beschreiben.
Gut, die Bullshell-Algebra wurde schon ein bisschen länger her,
1850 von Dodgepool, der sich also mit der Aussagelogik beschäftigte quasi aufgestellt oder beschrieben,
wo es eben die beiden Werte True, beziehungsweise war und Falls, falsch gibt.
Die Algebra mit diesen Werten hat dann eben letztendlich vier grundlegende Funktionen,
nämlich eine Negation, eine Unfunktion, eine Oder-Funktion und eben ein Exklusiv-Oder. Nicht,
was dann eben aussagt, dass Nur,
wenn genau einer von denen von zwei oder eins von zwei Argumenten,
also wenn ich jetzt hier sage, A,
exklusiv oder B, also wenn A, True ist und B,
Falls oder A, Force und Betru, genau,
dann habe ich als Ergebnis jetzt eben True,
wenn aber beide Falls sind oder beide True,
würde ich dann eben als Ergebnis Force erhalten.
Das ist also
das Exklusiv-Oder
Hier hinten sind dann nur noch mal kurz aufgezählt oder aufgelistet dann so einige der üblichen mathematischen oder aussagelogischen Schreibweisen,
je nachdem, wie man das jetzt gewohnt ist,
ist eben die Negation entweder so ein Überstrich oder so ein Negierungssymbol davor oder eben eine kleine Tilde,
teilweise auch immer dadurch motiviert,
dass dann einige von diesen Schreibweisen jetzt,
also in bestimmten Programmiersprachen da noch immer benutzt werden,
nicht was dann dazu führt,
dass es dann immer sehr viele sehr unterschiedliche Beschreibung oder Kodierung gibt nicht.
Also und wäre dann eben entsprechend entweder durch dieses das Symbol
oder Kaufmanns und oder durch das entsprechende Symbol oder in senkrechten
Strich und für das Exklusiv oder hat man dann eben,
wenn man das jetzt in der Programmierung oder Programmiersprachen macht,
um das jetzt also mit einem gültigen Zeichen meines Zeichensatzes zu definieren,
dann also quasi jetzt hier über dieses Dach gemacht,
nicht ansonsten in mathematischen Büchern hat man meistens immer
dieses Plus-Symbol mit dem Kreis außendrom
Zusammen mit der Bulschen-Algebar kommt dann eigentlich auch noch die Realisierung der Bulschen-Algebar über Schaltfunktionen. Das,
was dann also nachher die digitale Logik wird oder die binäre digitale Logik,
wo dann im Prinzip jetzt über diese Aussagen von True beziehungsweise Falls,
die George Buhl, also jetzt erstmal nur als Aussagelogik gemacht hat,
dann eben in ein technisches System oder ein technisches Funktionalität umgesetzt werden.
Und das ist dann auch letztendlich das, womit ja alle unsere Computer arbeiten,
beziehungsweise das, was wir dann eigentlich jetzt auch immer von der Bulschen Ärgerbar sehen,
dass ich sage, ich habe jetzt eben in meinem Rechner meine Bits null und eins.
Nicht null ist Falls 1, ist Two oder war. Und ich habe dann eben irgendwelche Schaltglieder oder Schaltfunktionen,
die dann eben wirklich jetzt in Form von irgendwelchen Seemos-Gattern oder wie auch immer technisch realisiert sind,
die dann eben genau diese Funktion der Aussage-Logik dann eben auch technisch abbilden in,
es fließt ein Strom oder es fließt keinen Strom oder ich habe jetzt eben einen bestimmten Spannungspegel,
der eben nahebar nur liegt oder nahe bei,
was weiß ich, 3,3 Volt oder was auch immer.
Gut, die Grundverknüpfung der Bulschen Algebra,
also jetzt von diesen zwei Worten, wie gesagt,
hier nochmal aufgelistet, also die Negierung,
das Logische und was dann eben nur genau dann eins wird,
wenn der Argumente eins, beziehungsweise True oder wahr sind.
Nicht das Logische. Oder was eben, wenn mindestens eins der Argumente war,
ist dann eben ein wahrliefert und das Exklusiv-Oder,
was eben nur genau für diesen Fall 1-0 beziehungsweise 0-1 dann eben hier als Ergebnis ein True-If hat. Gut,
mit diesen grundlegenden Verknüpfungen lassen sich dann eben letztendlich jetzt sämtliche logischen Operationen darstellen,
beziehungsweise zusammenbauen, beziehungsweise rein praktisch brauche ich sogar noch weniger,
als jetzt hier diese vier,
im Sinne einer Algebar kann man jetzt eben sagen,
also diese Funktionen stellen dann eben eine vollständige Basismenge dar und ich kann eben alle möglichen Funktionen,
die ich mir jetzt also aufgrund der Bulschen Algebar jetzt mit
irgendwie N-Variablen darstelle oder ausdenke,
entsprechend in Folgen dieser Funktionen umsetzen
So, wenn man sich jetzt ansieht,
wie viele unterschiedliche Funktionen er ist jetzt mit wie vielen Eingangsvariablen gibt,
kann ich jetzt sagen, also für vier Eingangsvariablen, Entschuldigung, Blödsinn.
Für eine Eingangsvariable habe ich letztendlich vier unterschiedliche Funktionen,
nämlich entweder ist die Funktion immer null liefert,
dass die Funktion immer eins liefert,
dass die Funktion den Wert selber liefert oder dass die Funktion den Negiertenwert liefert.
Für Zwei Eingangsvariablen habe ich dann schon 16 unterschiedliche Funktionen zur Verfügung.
Also hier einmal aufgelistet und hier dann eben als Beispiel,
was rauskommen würde, wenn ich jetzt also beispielsweise jetzt hier
einen Vektor X und einen Vektor Y als Eingangsfaktor habe und
dann ist eben diese entsprechenden Funktionen anwende.
Wie gesagt, die Nullfunktionen liefert dann jetzt für jede Kombination
von X und Y immer nur den Wert null.
Nicht die Unfunktion liefert dann eben für den Fall,
dass beide X und Y jeweils eins sind,
als Ergebnis eins, ansonsten immer null.
Und dann sind dann hier die entsprechenden Beispiele dann für alle Kombinationen aufgelistet.
So, wenn man das jetzt sagt,
ich habe jetzt eben nicht nur die zwei Variablen als Eingangsfariablen,
sondern ich mache das jetzt allgemein als Funktion mit N-Variablen,
wie viele Möglichkeiten habe ich da
Stohastik, Kombinatorik. Allgemein gilt eben für Funktionen mit N-Variablen
. Ich habe ja jeweils für jede Kombination dieser N-Variablen,
und ich habe ja zwei hoch N-mögliche Kombinationen, zwei Möglichkeiten,
was diese Kombination liefert, nämlich entweder null oder eins.
Demzufolge habe ich insgesamt, als Anzahl der Funktionen zwei,
hoch zwei, hoch N. Wie gesagt,
dazu kommen dann später auch noch entsprechende Beispiele,
wo ich das Ganze dann eben auch noch entsprechend weiter aufzeigen werde.
Gut, damit Wiederholung der Bulschen Agebar werde ich
jetzt für heute Schluss machen und am Freitag geht es dann
eben mit den logischen Operationen weiter