@Incocnito
Du hast recht - mir ist aufgefallen, das auch etliche andere Zeichen kommen.
Z.B. diese hier:
Zitat:
\u00c9 -> É
\u00b0 -> °
\u0141 -> Ł
\u017e -> ž
\u00e9 -> é
\u2013 -> –
\u00df -> ß
\u00dc -> Ü
\u00fc -> ü
\u00e4 -> ä
\u00df -> ß
\u00f6 -> ö
Ich habe meine kleine Routine mal etwas universeller gemacht.
Nimmt und gibt nun einen String.
Ist kein Sonderzeichen drin, kommt der Text unverändert zurück.
Evtl. vorhandene '\u....' werden entsprechend ersetzt.
Delphi-Quellcode:
function DecodeJString(text : string) : string;
var
p, val : word;
begin
result := ''; // !
p := Pos('\u', text); // 1. Sonderzeichen suchen
while (p > 0) do // Sonderzeichen vorhanden ?
begin
val := hextoint(text[p + 2] + text[p + 3] + text[p + 4] + text[p + 5]); // Wert ermitteln
result := result + copy(text, 1, p - 1) + widechar(val); // 1. Teil-String + Sonderzeichen
Delete(text, 1, p + 5); // zu 'Rest-String' löschen
p := Pos('\u', text); // noch mehr Sonderzeichen vorhanden ?
end;
result := result + text; // (Rest-) String hinzufügen
end;
Viel einfacher & kürzer gehts wahrscheinlich nicht ...