Einzelnen Beitrag anzeigen

Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#2

Re: String(ansi) to Url-Encoded String

  Alt 23. Mär 2005, 21:55
Richtig: whitespace = +
Die anderen sind die Hexadezimalcodes z.B. das Zeichen "&" ist dann "%26"

Folgender Code ist die Umkehrung deiner Frage:
Delphi-Quellcode:
// Converts a URLencoded string to a normal string
Function DecodeURL(Instr: String): String;
Var
   S: String;
   X: Integer;
   C,N1,N2: Char;
Begin
   If Instr='then exit;
   S := '';
   TempURL := Instr; // Copy URLencoded string
   Index := 1; // Reset string index
   Repeat
      C := GetURLchar; // Get next character
      If C='%then // If it's a hex esc char
      Begin
         N1 := GetURLchar; // Get first digit
         N2 := GetURLchar; // Get second digit
         X := (Hex2Int(N1)*16)+Hex2Int(N2); // Convert to integer
         S := S+Chr(X); // Add character
      end else
      If C='+then // If + then convert to space
         S := S+' else
      S := S+C; // Just add character
   Until C=' '; // Until no more in string
   Result := S;
end;
Hoffe das hilft Dir.
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat