Beim Parsen von HTML für bestimmte Webseiten (vor allem jede Windows-Live-Seite) stoße ich auf viele URLs im folgenden Format.
Ссылка
Es scheint sich um teilweise UTF8-Strings zu handeln (\ x2f = /, \ x3a = :, etc ...). Gibt es eine .NET-API, mit der diese Zeichenfolgen in eine System.Uri umgewandelt werden können? Scheint einfach zu parsen, aber ich versuche heute zu vermeiden, ein neues Rad zu bauen.
Was Sie gepostet haben, ist kein gültiges HTTP. Natürlich funktioniert HttpUtility.UrlDecode()
nicht. Aber unabhängig davon können Sie dies wie folgt in normalen Text umwandeln:
Beachten Sie jedoch, dass dabei davon ausgegangen wird, dass es sich bei der Codierung um Latin-1 und nicht um UTF-8 handelt. Ihre Eingaben sind in dieser Hinsicht nicht eindeutig. Wenn Sie UTF-8 benötigen, benötigen Sie eine etwas längere Route. Sie müssen die Zeichenfolge in Bytes konvertieren und die Escape-Sequenzen durch die relevanten Bytes im Prozess ersetzen (benötigt wahrscheinlich eine while-Schleife) und dann Encoding.UTF8.GetString()
für das resultierende Byte-Array verwenden.
Hier ist eine andere Lösung: (Fortsetzung von @timwi Lösung)
%Vor%