Bonjour

Je suis en train de réaliser un exporteur 3d pour mon logiciel favoris : Blender.
Or comme vous le savez surement, le langage de script de Blender, est le python. D'où ma venue ici

Je cherche donc une solution optimale pour encoder mes données.
Le fichier est composé de 4 ou 5 lettres différentes du style "v" pour vertice, "f" pour face. Mais il est surtout composé de nombres à virgules.

Avec le code suivant, j'ai pu déterminer l'encodage par défaut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
import sys
print sys.getdefaultencoding()
Ce qui me renvoie 'ascii', or on ne peut pas dire que ça soit la meilleure solution (1 octet par symbole, ça le fait pas).
Les fichiers seront composés à 98% de nombres à virgule. En moyenne, chaque nombre à virgule a 7 chiffres significatifs. En ASCII, ça donne donc, exactement 8 octets par nombre. Alors qu'en norme IEEE754, par exemple, ça donnerait exactement 4 octets. On arrive, alors, à diviser par deux la taille d'un fichier 3D. Ce n'est pas négligeable.

Ainsi, je compte utiliser la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sys.setdefaultencoding()
Elle permettra, je l'espère, de choisir un type d'encodage plus approprié.

J'ai trouvé une liste des encodages disponibles ici.

J'aimerai donc savoir ce que vous me conseillez comme encodage.
La solution devrait surtout tenir compte du fait qu'il faut écrire de nombreux nombres à virgules (float, double).
Après les séparations peuvent très bien se faire par un autre moyen que des lettres.

En vous remerciant d'avance,
Cordialement,
Vi.