[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: HS Convertir du texte encodé UTF8 en son caractère représenté (et son inverse)



Le 14808ième jour après Epoch,
daniel huhardeaux écrivait:

> Le 18/07/2010 21:26, Sylvain Sauvage a écrit :
>> […]
>>>>     Quoted-printable n’est pas un charset, c’est une « surface ».
>>>> Donc paquet recode :
>>>>
>>>>     recode u8/QP..u8
>>>> ou, en long :
>>>>     recode UTF-8/Quoted-Printable..UTF-8/
>>>>
>>>>     Ici : prend l’entrée en « UTF-8/qp » et transforme « .. » en
>>>> « UTF-8[/<défaut pour UTF-8>] ».
>>>>
>>>>        
>>> Et si je veux revenir à la représentation UTF8,
>>>      
>>    Ce n’est pas une « représentation UTF-8 », c’est un codage (ce
>> que recode appelle une surface) pour représenter des octets en
>> n’utilisant que des octets de valeur inférieure à 128.
>>    Il se trouve que, dans ton exemple, les dits octets codent de
>> l’UTF-8, mais ça peut être n’importe quel encodage (latin-1,
>> windows-1252, LaTeX…).
>>    Et le codage peut être « rien » (ou « par défaut », qui se dit
>> '' ou '/'), base64 ('/b64'), octal ('/o')…
>>
>>    Pour résumer les termes :
>> – Unicode : jeu de caractères, donne un n° à chaque caractère
>>    (et un peu plus) ;
>> — UTF-8 : [format de] codage de caractères, définit comment
>>    représenter Unicode avec des octets ;
>> – Quoted-Printable : [format de] codage de données, définit
>>    comment représenter des octets avec des octets de valeur
>>    inférieure à 128.
>>    
>
> OK, c'est là ou je me perds. Pour moi UTF est de l'unicode or c'est la
> représentation de l'unicode à tes dires.

UTF c'est l'unicode. Après, tu peux décider de le transmettre tel quel,
ou bien de l'encoder en Base64, ou en Quoted-printable (c'est ton cas).

Il faut différencier l'encodage des caractères, et leur "mode de
transport", ou "surface" pour recode.

> Pour information, mon problème est la gestion des SMS: j'ai développé
> ma passerelle mail2SMS sur laquelle je me suis rendu compte que les
> SMS à l'arrivée n'affichaient pas les lettres accentuées, elles sont
> soit remplacées par des espaces, soit affichées par la surface
> (codage) :-(

Je pense que dans ton cas, ça doit dépendre de ce que les terminaux
savent gérer, mais je ne suis pas sûr. Il faudrait que tu te procures
les spécifications claires des SMS, car vu que les terminaux
(téléphones) sont vendus dans plein de pays UTF8, ils doivent être
capables d'afficher ce que tu veux.

-- 
Il y a trois types de mathématiciens, ceux qui savent compter et ceux 
qui ne savent pas.


Reply to: