Suche nach einer Parsing-API für teilweise utf8-codierte URLs

8

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.

    
JaredPar 11.12.2008, 16:25
quelle

3 Antworten

3

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:

%Vor%

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.

    
Timwi 14.09.2009, 13:54
quelle
0

Hier ist eine andere Lösung: (Fortsetzung von @timwi Lösung)

%Vor%     
Royi Namir 11.01.2013 21:02
quelle
-1

Haben Sie HttpUtility.UrlDecode versucht?

    
leppie 11.12.2008 17:59
quelle

Tags und Links