bedeutet es existiert eine Klasse oder ein Objekt mit dem ungewöhnlichen Namen \ue003 und stellt eine Methode zur Verfügung, die den ebenso ungewöhnlichen Namen \ue000 trägt
Folgendes Konstrukt würde z.B. einen solchen Aufruf zulassen:
public class \ue003
{
public static string \ue000(string input, int mod) { ... }
}
// Ja, sowas geht!!
Anhand des zweiten Parameters der Funktion (dem int-Wert) werden offenbar dann die Zeichen im übergebenen String nochmal verhackstückt, um das gewünschte Ergebnis zu erreichen.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
internal sealed class \ue003
{
public static string \ue000(string \ue000, int \ue000)
{
return string.Intern(\ue003.\ue002.\ue000.\ue000(\ue000, \ue000));
}
...
}
gerade noch ein wenig im code gestöbert... die klasse gibt es wirklich...
es wurden also functionen und strings mit diesem \u.... codiert. zumindestens die strings sind rückholbar :-)
muss mal die rückgabewerte dieser krassen fct auslesen
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von numpsy am .
Sieht für mich sehr danach aus, als ob der Code obfuskiert wurde. Dann glaube ich nicht, dass der Urheber das erlaubt.(immerhin hat er den Code ja verschleiert)
Es müsste sich eher um (16 Bit-) Unicode handeln.
Eingeleitetz vom Prefix \u gefolgt von 2 Bytes (hexadezimal).
Sorry, aber das stimmt so nicht. UTF-8 bedeutet nicht, dass es eine Länge von 8-Bit hat. UTF-8 Zeichen können entweder normale 8 Bit Folgen sein, wo sie der ASCII Darstellung entsprechen, oder 2-4 Byte lange Ketten, die eine entsprechende Kodierung aufweisen. Alle Unicode Kodierungen können sämtliche Unicode Zeichen darstellen.
Moderationshinweis von herbivore
(04.01.2011 - 10:20)
Wie sich weiter unten aufklärt, stimmte es eben doch so, wie MarsStein geschrieben hat. Daraus, dass hinter dem \u immervier Hex-Ziffern stehen (müssen), sprich 16Bit, folgt, dass es sich um UTF-16 handelt. Das steht natürlich auch in der Doku.
Sorry, aber das stimmt so nicht. UTF-8 bedeutet nicht, dass es eine Länge von 8-Bit hat. UTF-8 Zeichen können entweder normale 8 Bit Folgen sein, wo sie der ASCII Darstellung entsprechen, oder 2-4 Byte lange Ketten
Schon wahr, aber die standardteichen sind bei utf-8 eben 1 byte lang und bei utf-16 eben 2 bytes lang. Und wie schon erwähnt wurde folgen auf \u zwei bytes. Daher ist utf16 eindeutig treffender.
Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!
Die Standardzeichen in UTF-16 beginnen mit 00 gefolgt von der ASCII Darstellung. Hier beginnt aber keine Folge mit 00. Also entweder sehe ich hier etwas komplett falsch, oder es sind merkwürdige Zeichen.
Sorry, aber das stimmt so nicht. UTF-8 bedeutet nicht, dass es eine Länge von 8-Bit hat.
Das hat ja auch keiner behauptet :)
ja, es sind merkwürdige Zeichen, und ja, ich weiß auch, daß UTF-8 wie UTF-16 ein Multibyte-Format ist. Der Unterschied ist aber, daß UTF-16 immer 2 Byte lange Zeichen hat, und UTF-8 variabel 1-3 Byte lange Zeichen.
Die Notation mit \u beschreibt aber ein UTF-16 Zeichen, also immer genau 2 Byte.
Siehe auch Backslash nicht escapen in einem String?
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca