Le 28 mars 2013 17:36, Sylvain Maillard <[email protected]> a écrit :
> Salut,
>
> oui, ce problème est clairement lié à l'encodage des caractère !
> En interne Python 2 utilise par défaut l'ascii

Faux, Python en interne n'utitile que des chaines d'octets sans savoir
rien de plus sur le codage, ni me^me si cela contient effectivement du
texte. Ce support des encagages est apporté par les librairies Python
selon leur propre API et l'usage qu'elle font de ces chaines d'octets.

Pytonh gère aussi des chaines dites "Unicode" sauf que ces chaines
n'ont aucune obligation à être réellement codées selon Unicode, mais
juste fr pouvoir coder un caractère Unicode dans une position unique.
Dans les faits Pythin utilise alors pour cela en interne des chaines
de mots 32-bits. Il peut aussi gérer des chaines de mots 16 bits.

Il faut aussi distinguer ce que fait Python en interne dans le moteur
de sa VM, de sa syntaxe de programmation qui elle ne dépend pas de
Python lui-même mais d'une API aussi, celle de son analyseur
lexico-syntaxique qui soumet ses analyses à son compilateur. Là encore
ne pas confondre le langage de programmation avec ce pourquoi il est
utilisé dans une application.

Ces remarques ne sont pas spécifiques à Python, on les retrouve aussi
dans d'autres langages (compilés ou non) : C/C++, Java, C#, PHP,
JavaScript/ECMAScript (ne pas confondre Javascript avec HTML qui a ses
propres spécifications en terme de codage, ce que n'a pas Javascript
lui-même qui en est séparé)...

Bref ne pas tout mélanger

_______________________________________________
dev-fr mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev-fr

Répondre à