Ich versuche einige JavaScript
zu analysieren, und eine Zeile ist
mit vielen Zeichen in der Form %uxxxx
.
Ich möchte die JavaScript
in c#
neu schreiben, aber ich kann die richtige Funktion nicht finden, um eine Zeichenkette wie diese zu dekodieren. Ich habe es versucht
aber das hat diese Charaktere überhaupt nicht verändert.
Wie kann ich das in c # erreichen?
Sie können UrlDecode verwenden:
%Vor% decoded
würde dann "䅁䅁"
enthalten.
Wie andere darauf hingewiesen haben, würde das Ändern von %
in \
funktionieren, aber UrlDecode
ist die bevorzugte Methode, da dies sicherstellt, dass auch andere Symbole mit Escapezeichen korrekt übersetzt werden.
Sie benötigen HttpUtility.UrlDecode
. Sie sollten heutzutage nicht wirklich escape/unescape
verwenden, Sie sollten Dinge wie encodeURI/decodeURI/encodeURIComponent
verwenden.
Wann sollten Sie escape anstelle von encodeURI / encodeURIComponent verwenden?
Diese Frage behandelt das Problem warum escape/unescape
sind eine schlechte Idee.
Sie können die bellow-Methode aufrufen, um den gleichen Effekt zu erzielen wie die Javascript-Methode escape / unescape
%Vor%Ändern Sie die% -Zeichen in umgekehrte Schrägstriche, und Sie haben ein C # -Zeichenfolgenliteral. C # behandelt \ uxxxx als Escape-Sequenz, wobei xxxx 4 Ziffern lang ist.
In Basic-String-Verwendung können Sie String-Variable in Unicode initiieren: var someLine="\ u4141"; Wenn es möglich ist - ersetzen Sie alle "% u" durch "\ u".
Tags und Links javascript .net c#