Page 1 sur 1

[RÉSOLU] caractères parasites dans export.osm de overpass-turbo

Publié : mer. janv. 30, 2019 3:34 pm
par cwrff
Bonjour,
Dans le fichier export.osm obtenu par Télécharger/copier en tant que données brutes de OSM, je trouve 3 caractères parasites (?) en début de fichier, avant les premiers caractères visibles <?xml. Ils ont pour code : 239, 187, 191. Cela fait planter l'analyseur syntaxique Python exploitant ce fichier. Si je modifie le fichier dans le Bloc-Notes, ces caractères disparaissent lors de la sauvegarde.
Vu le nombre d'utilisateurs de overpass-turbo, je ne dois pas être le seul à avoir ce problème ?? (mais je n'ai pas lu tout le forum !)
Merci de votre aide !

Re: caractères parasites dans export.osm de overpass-turbo

Publié : jeu. janv. 31, 2019 5:56 pm
par OsmO
Bonjour,

Il s'agit d'une BOM (Byte Order Mark) UTF-8
Ce n'est réellement utile que pour UTF-16 et UTF-32 mais on en trouve parfois dans les fichiers encodés en UTF-8.
Une discussion sur SO pour la supprimer en Python.

Re: caractères parasites dans export.osm de overpass-turbo

Publié : mar. févr. 05, 2019 4:51 pm
par cwrff
Merci !
En Python, il suffit donc de passer les caractères de la première ligne de export.osm, jusqu'au '>', avant de lancer l'analyseur syntaxique.
Dommage tout de même que la sortie standard de overpass ne soit pas directement utilisable par ce module de Python !
Je ne domine pas assez ces subtilités de codage pour savoir qui des deux devrait faire un petit effort d'adaptation...
Merci encore !

Re: [RÉSOLU] caractères parasites dans export.osm de overpass-turbo

Publié : lun. févr. 11, 2019 10:24 am
par cquest
Il suffit d'indiquer à python que le fichier a un BOM, exemple:

Code : Tout sélectionner

open(filename, mode, encoding='utf-8-sig')