On peut considérer que UTF-8 est un codage MBCS. En général le mot MBCS est plutôt utilisé pour les codages d'avant Unicode comme le Shift-JIS.
- On peut representer une chaine ISO-LATIN-1 (ISO-8859-1) sur 8 bits (256 caracteres), mais qu'en est-il des autres langues ?
Il y a une série de ISO-8859-x pour les codages 8-bit (pour le français, par exemple c'est l'ISO-8859-15). Mais d'autres codages (les MBCS, notament UTF-8) peuvent utiliser un nombre d'octets variable par caractère.
Unicode est un standard qui associe un numéro à chaque caractère (actuellement ils en sont à 100 000 environ). Il ne définit pas directement la façon dont sont codés ces numéros, mais définit trois formats de codage : - UTF-32 : chaque caractère occupe 4 octets - UTF-16 : chaque caractère occupe 2 ou 4 octets - UTF-8 : chaque caractère occupe entre 1 et 4 octets
Pour des raisons historiques, on parle encore de chaînes Unicode pour désigner les chaînes UTF-16.
- Comment est-ce qu'on convertit concretement une chaine unicode en une chaine MBCS ?
Pour convertir d'UTF-16 en UTF-8 : WideCharToMultiByte(CP_UTF8, 0, source, -1, dest, tailleDest, NULL, NULL);
-- Møgluglu
Will a écrit:
- Est-ce que UTF8 est la meme chose que MBCS ?
On peut considérer que UTF-8 est un codage MBCS. En général le mot MBCS
est plutôt utilisé pour les codages d'avant Unicode comme le Shift-JIS.
- On peut representer une chaine ISO-LATIN-1 (ISO-8859-1) sur 8 bits
(256 caracteres), mais qu'en est-il des autres langues ?
Il y a une série de ISO-8859-x pour les codages 8-bit (pour le français,
par exemple c'est l'ISO-8859-15). Mais d'autres codages (les MBCS,
notament UTF-8) peuvent utiliser un nombre d'octets variable par
caractère.
Unicode est un standard qui associe un numéro à chaque caractère
(actuellement ils en sont à 100 000 environ). Il ne définit pas
directement la façon dont sont codés ces numéros, mais définit trois
formats de codage :
- UTF-32 : chaque caractère occupe 4 octets
- UTF-16 : chaque caractère occupe 2 ou 4 octets
- UTF-8 : chaque caractère occupe entre 1 et 4 octets
Pour des raisons historiques, on parle encore de chaînes Unicode pour
désigner les chaînes UTF-16.
- Comment est-ce qu'on convertit concretement une chaine unicode en
une chaine MBCS ?
Pour convertir d'UTF-16 en UTF-8 :
WideCharToMultiByte(CP_UTF8, 0, source, -1, dest, tailleDest, NULL,
NULL);
On peut considérer que UTF-8 est un codage MBCS. En général le mot MBCS est plutôt utilisé pour les codages d'avant Unicode comme le Shift-JIS.
- On peut representer une chaine ISO-LATIN-1 (ISO-8859-1) sur 8 bits (256 caracteres), mais qu'en est-il des autres langues ?
Il y a une série de ISO-8859-x pour les codages 8-bit (pour le français, par exemple c'est l'ISO-8859-15). Mais d'autres codages (les MBCS, notament UTF-8) peuvent utiliser un nombre d'octets variable par caractère.
Unicode est un standard qui associe un numéro à chaque caractère (actuellement ils en sont à 100 000 environ). Il ne définit pas directement la façon dont sont codés ces numéros, mais définit trois formats de codage : - UTF-32 : chaque caractère occupe 4 octets - UTF-16 : chaque caractère occupe 2 ou 4 octets - UTF-8 : chaque caractère occupe entre 1 et 4 octets
Pour des raisons historiques, on parle encore de chaînes Unicode pour désigner les chaînes UTF-16.
- Comment est-ce qu'on convertit concretement une chaine unicode en une chaine MBCS ?
Pour convertir d'UTF-16 en UTF-8 : WideCharToMultiByte(CP_UTF8, 0, source, -1, dest, tailleDest, NULL, NULL);