Krümels Universalkonverter

Anleitung

Power-User und Webmaster können ein Lied davon singen: Wenn man mal eine Zeichenfolge wie z.B. Schöne Grüße in seinen HTML-Code, in seine Datenbank oder als Parameter in die Adressleiste seines Browsers eingibt, kommen mitunter die seltsamsten Dinge heraus – oder, wenn man Pech hat, einfach gar nichts. Eine der glimpflichsten Folgen ist, wenn dann auf der Webseite Schöne Grüße steht, weil der Webmaster vergessen hat, dem Browser seines Besuchers mitzuteilen, dass er seine Texte im Zeichensatz UTF-8 erstellt hat, und der Browser in solchen Fällen standardmäßig von Latin-1 (ISO-8859-1) ausgeht. Und wenn der Starprogrammierer dann auch noch sämtliche Ümläute und andere Sonderzeichen unmaskiert in die Tasten gehauen hat, sind seine Ergüsse manchmal kaum noch zu entziffern.

Nun gut, ein geübtes Auge lernt mit der Zeit, damit umzugehen – eine Datenbank aber nicht, wovon jeder leidgeprüfte Webber, der seine Datenbanken in UTF-8 erstellt hat und mit der phpMyAdmin verwaltet, ein Lied singen kann. Letztere scheint nämlich von UTF-8 nicht viel zu halten. Wenn man damit z.B. einen Datensatz mit dem Inhalt Schöne Grüße erstellt und diesen dann in UTF-8 auf seiner Webseite ausgeben will, dann kommt schlichtweg: "" – gähnende Leere. Und man sucht sich dumm und dämlich nach dem Grund. Bis man auf den Dreh kommt, die Datenbank mit Schöne Grüße zu füttern …

Der Universalcodierer nimmt uns die Arbeit ab, jedesmal die Hieroglyphen in die Texte reinzupfriemeln, damit Browser und Datenbank ihren Job machen. Und für alle anderen Mitbürger ist er ein nettes Spielzeug, mit dem man die schönste Poesie mal so richtig vermurksen kann X-p

Die Konvertierungen im einzelnen

Codiere URL:

Die Zeichenfolge wird für die Eingabe als Parameter in die Adressleiste des Browsers fit gemacht. Dabei muss beachtet werden, ob die Webseite in UTF-8 (z.B. Google) oder in Latin-1 (z.B. Das Telefonbuch) erstellt ist. ISO-8859-2 bis -15 und Windows-Zeichensätze funktionieren wie Latin-1.

Maskiere für HTML:

Damit ist man als Webmaster auf der sicheren Seite, weil der Quelltext dann nur noch ASCII-Zeichen enthält und somit von jedem Browser fehlerfrei dargestellt werden kann. Auch die Knuddelpage enthält nur maskiertes HTML.

Maskiere für JavaScript / PHP:

Funktioniert wie Maskieren für HTML, nur dass der geplagte Adressat nicht der Besucher, sondern der Browser bei JavaScript bzw. der Server bei PHP ist.

Maskiere als ASCII:

Funktioniert wie für HTML, nur dass statt der HTML-Entität die ASCII-Zeichennummer verwendet wird. Dank UTF-8 können so ziemlich alle auf der Welt vorhandenen Schriftzeichen maskiert und von modernen Browsern meist auch dargestellt werden, z.B. ☺ bzw. ☺ für oder ﷲ bzw. ﷲ für .

Erzeuge codierten E-Mail-Link:

Für alle Webmaster, die ihre E-Mailadresse oder die ihrer Besucher vor Spam schützen möchten. Zugegeben, ein heißes Thema, denn die Spammer, die ihre Harvester durchs WWW schnüffeln lassen, lernen auch dazu. Eine Maskierung des Inhalts eines Links zu einer E-Mailadresse durch ASCII-Zeichen im zufälligen Wechsel zwischen dezimal und hexadezimal schreckt zwar nur die weniger professionellen Spammer ab (die aber auch schon ziemlichen Schaden anrichten können), ist aber allemal besser als ein Text à la Diese Adresse ist vor Spambots geschützt, wo im Quelltext die Adresse im Klartext steht (und nur diesen lesen die Spambots) und demzufolge nicht der Spammer, sondern nur der Besucher genervt wird.

Verstecke E-Mail-Adresse mit Javascript:

Was dieses Teil liefert, das dürfte auch für die Profis unter den Spammern schon etwas anspruchsvoller sein. Es macht aus deiner E-Mail-Adresse eine komplette Javascript-Funktion, die aus dem Zahlensalat deine Adresse bastelt und aus dem präparierten Link <a id="ausgabe" href="http://www.google.de/">Google</a> (kann auch jede andere Adresse sein, nur die ID ist wichtig) einen Link mit deiner E-Mail-Adresse macht. Kopiere die Funktion in deinen Seitenheader, dann kannst du sie mit <body onload="hokuspokus()"> aufrufen.

UTF-8 als Latin-1 lesen:

Wie oben schon erwähnt, ein nützliches Teil, um über ein Formular, das mit Latin-1 arbeitet, einen Text in UTF-8 einzugeben. Hier muss man das, was das Formular nicht kann, eben selbst übernehmen, damit am Ende kein Chaos rauskommt. Leider gibt es in der anderen Richtung einige Probleme, z.B. besteht der Buchstabe ß in UTF-8 aus zwei Zeichen, nämlich 195 und 159 (URL-codiert %C3%9F), wobei letzteres zwar als Ÿ angezeigt wird, aber eigentlich ein Steuerzeichen ist, das gar nicht angezeigt werden kann. Und somit muss die Rückkonvertierung zwangsläufig in die Hose gehen. Wir müssen beim Entziffern von falsch codierten Webseiten also weiter unseren Spürsinn bemühen.

Verschlüssele mit MD5 / SHA1:

Hiermit wird aus beliebig langen Texten (das kann auch der Inhalt einer ganzen Bibliothek sein) eine Zeichenfolge generiert, die bei MD5 aus 32 und bei SHA1 aus 40 Zeichen besteht und nicht mehr in den ursprünglichen Text zurück verwandelt werden kann. Wenn man aber den Text ein zweites Mal mit demselben Algorithmus verschlüsselt, erhält man wiederum genau die gleiche Zeichenkette und kann mit nahezu 100-prozentiger Sicherheit davon ausgehen, dass der Text nicht verändert (also z.B. eine Datei nicht mit einem Virus »veredelt«) wurde.

Konvertiere von und nach dezimal / binär / oktal / hexadezimal:

Ein kleines, aber feines Teil, um mal schnell eine Zahl von einem Zahlensystem in ein anderes zu konvertieren. Für anspruchsvollere Zwecke, z.B. den Code für Fuchsia, HEX: #CA1F7B, nach RGB: rgb(202,31,123) oder RGB%: rgb(79%,12%,48%) zu konvertieren, bietet sich Krümels Farbmischer an.