Carsten: unescape() liefert unbrauchbare Ergebnisse für Zeichen > %7e

Beitrag lesen

Hallo Calocybe!

Die JavaScript'verschlüsselung' läuft nur auf dem IE. Einige Zeichen stimmen bei NN einfach nicht, evtl. ist dass der unescape(%7e); bug. (Da kommt das Unicode Zeichen für Euro raus.)

unescape(%7e) bug? Kannst Du mir was darueber erzaehlen? Hab ich noch nie gehoert.

Ähm.. da  hab ich mich etwas vertan ...

a) das Euro Zeichen 'ist' %80 ...
b) es betrifft noch viel mehr Zeichen. Meine damaligen Experimente hatten wohl nicht den ganzen Wertebereich, es war mir nur mit dem Euro-Zeichen aufgefallen.

Probier mal folgendes:

<html><pre><script>
for(i=0;i<255;i++)
{
  s=i.toString(16);
  if(s.length<2)
   s="0"+s;
  s="%"+s;

e=unescape(s);
  n=e.charCodeAt(0);

if(i!=n)
    document.write(s+" "+i+" != "+n+" "+e+" <br>");
}
</script>

Das Ergebnis hängt übrigens vom eingestellten Zeichensatz ab, und entspricht weder im NN4 noch im Mozilla den Erwartungen einer leeren Ausgabe.
(Konqui kann die Basis-Angabe in der toString-Methode nicht, Opera hab ich grad nicht.)

Gruss,
 Carsten