Announcement

Collapse
No announcement yet.

RawUrlEncode für C#

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • RawUrlEncode für C#

    Grüßt Euch,

    ich habe derzeit ein Projekt, bei dem es nötig ist, dass ich umlaute wie sonderzeichen in ein URL gerechtes Format bringe (ö ist zum beispiel %F6 oder ein Leerzeichen ist %20). Für PHP gibt es eine solche Funktion natürlich diese nennt sich rawurlencode(). Sowas suche ich für C#, ich hab zwar schon unter google gesucht, aber wenn man mit URL sucht bekommt natürlich auch all die Seite die sich ums Festplatten formatieren handeln und dann noch vom Autor einen Verweis auf eine andere Seite bekomme.

    Weis da jemand ne Funktion dafür, oder eine Klasse, welche diese Aufgabe erfüllt

    Gruß

    Markus Seidl

  • #2
    Hallo,
    wenn es nur um die Umlaute geht, hilft System.Web.HttpUtility.HtmlEncode weiter:
    <code>
    // Vorher dem Projekt einen Verweis auf System.Web hinzufügen
    string sOutput = System.Web.HttpUtility.HtmlEncode("Der Umlaut-Test: äöüß");
    MessageBox.Show(sOutput);
    </code&gt

    Comment


    • #3
      Das ist der HTML Encode, wird vielleicht auch recht nützlich sein, ist aber noch nicht das was ich suche. Ich geb mal ein Beispiel wozu ich das brauche.

      Jeder kennt die Page, http://www.leo.org, ich geh noch nen Schritt weiter und möchte auf die seite http://pda.leo.org zugreifen. Dort gibt es ein Feld namens search. Wenn ich jetzt eine Suche starten möchte (ohne extra auf die Suchseite zu gehen), sagen wir mal ich suche das Wort "Tür", dann kann mein suchlink nicht lauten:

      http://pda.leo.org/?search=Tür

      sondern das ü muss URL gerecht formatiert werden. Das würde dann so aussehen:

      http://pda.leo.org/?search=t%FCr

      Ich fange nämlich diese Ausgabe ab, und werte sie mit einem Parser aus. Das ganze geschieht über WebRequest und WebResults, ich will nämlich ein kleines Prog schreiben damit ich nicht immer auf die Seite zugreifen muss. Vielleicht kann man später sogar noch nen schritt weiter gehen, und sowas wie Babylon entwerfen.

      Gruß

      Markus Seid

      Comment


      • #4
        Hallo,
        ok - nun der 2. Versuch: <b>UrlEncode</b>
        <code>
        string sOutput = System.Web.HttpUtility.UrlEncode(@"http://pda.leo.org/?search=Tür");
        MessageBox.Show(sOutput);
        </code&gt

        Comment


        • #5
          War noch nicht ganz richtig, aber es hat was mit dieser Funktion zutun. Man muss noch etwas hinzufügen. Nachdem .NET mit Unicode arbeitet (aber noch nicht das gesamte Web) muss ich dafür sorgen, dass das Encoding auf ANSI nach Deutscher Codepage vorgeht (Default Encoding). Sieht dann so aus.<br>
          <b>string sOutput = System.Web.HttpUtility.UrlEncode(@"http://pda.leo.org/?search=Tür", System.Text.Encoding.Default);</b><br>
          Das ganze Problem dabei ist nur, dass er afu einmal jedes Sonderzeichen macht, aber das ist jetzt weiter kein problem mehr, ich wollte sowieso NUR den suchstring formatieren, alles andere steht ja fest. Heißt das ganze Problem (was ja jetzt gelöst ist) beschränkt sich damit auf<br>
          <b> string sOutput = System.Web.HttpUtility.UrlEncode("Tür", System.Text.Encoding.Default);</b><br>
          Also Merci die für die freundliche unterstützung, ich werds noch brauchen. Bin zwar derzeit noch mit dem ID3v2.4 Tool beschäftigt, aber die beiden hängen damit direkt zusammen, ich möchte schließlich ein Tagger Tool machen, welches auch auf FreeDB zugreifen kann .<br>

          Gruß

          Markus Seid

          Comment

          Working...
          X