ich möchte mittels urllib (ggf. auch urllib2, falls das nötig ist) eine kml-datei runterladen. kml-dateien sind, ähnlich wie xml, in utf-8 kodiert.
im prinzip wird folgendes gemacht:
Code: Alles auswählen
import urllib
url = 'http://maps.google.de/maps?f=d&hl=de&geocode=&saddr=50.096711%208.684174&daddr=50.096711%208.684174&output=kml'
data = urllib.open(url)
kml = data.read()
Code: Alles auswählen
>>> uni = unicode(kml,'utf-8')
Traceback (most recent call last):
File "<pyshell#51>", line 1, in <module>
uni = unicode(kml,'utf-8')
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 105-108: invalid data
probehalber hab ich data einfach mal gespeichert, und wie ich feststellen durfte wurde die datei auch nicht als utf-8 gespeichert. lade ich hingegen die datei per browser runter und ändere die dateiendung in txt, dann erkennt der editor die datei als utf-8.
beim rozess des herunterladens geht also meiner theorie nach der BOM verloren, weshalb ich den string dann nicht in unicode konvertieren kann.
selbiges gilt übrigens auch, wenn ich die kml-datei per urlretrieve runterlade.
nundenn, kann mir jemand erklären, wie ich in dieser situation zu einem unicode-string komme?
vielen dank im vorraus...
