Die Austauschmöglichkeiten im Internet sind – ungeachtet des äußeren Scheins – äußerst begrenzt. Uniform Resource Locators (URLs) beispielsweise dürfen nur Elemente aus dem ASCII-Zeichensatz enthalten. Da URLs aber dazu neigen, auch andere Zeichen zu enthalten (beispielsweise als Formulardaten in einem GET-Request), müssen diese Zeichen kodiert werden. Viele Webseiten bieten ein Formular für diesen Schritt. Da ich allerdings immer darauf gefasst bin, dass das gesamte Internet mit Ausnahme von Google und Wikipedia irgendwann nicht mehr gepflegt wird, halte ich das entsprechende Skript auch selbst bereit.
Die Python-Variante (CGI) nutzt das urllib-Modul:
#!/usr/bin/python # -*- coding: utf-8 -*- import cgi import urllib unsafe = cgi.FieldStorage() print """Content-type: text/html\n\n""" print """<html><body><h1>URL-Encoder</h1>""" try: original_url = unsafe['url'].value method = unsafe['method'].value if method == "encode": label = "Encoded" modified_url = urllib.quote_plus(original_url) else: label = "Decoded" modified_url = urllib.unquote_plus(original_url) print """<p>Original: <b>%s</b></p><p>%s: <b>%s</b></p>""" % (original_url, label, modified_url) except: pass print """<p>Please enter a URL:</p> <form method="post" accept-charset="utf-8" enctype="application/x-www-form-urlencoded"> <input type="text" size="40" name="url" /><br /> <input type="radio" name="method" value="encode" checked="checked" /> Encode <input type="radio" name="method" value="decode" /> Decode<br /> <p><input type="submit" name="absenden" value="Submit" /></p> </form></body></html>"""