convertion string au format Latin1
Bonjour,
Je travaille atuellement sur un code qui utilise la librairie QT pour la transformation des formats des chaines de caractères.
Je voudrais pouvoir me passer de QT et ecrire moi même la fonction de convertion vers le type Latin1. J'ai donc récupérer le code de QT dans Qstring.cpp qui est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
QByteArray QString::toLatin1() const
{
QByteArray ba;
if (d->size) {
ba.resize(d->size);
const ushort *i = d->data;
const ushort *e = d->data + d->size;
uchar *s = (uchar*) ba.data();
while (i != e) {
*s++ = (*i>0xff) ? '?' : (uchar) *i;
++i;
}
}
return ba;
} |
Il y a deux points que je ne comprend pas ( en rouge dans le code ).
premier point on affecte sur un unsigned short int une chiane de caractère.
Deuxième point on test si chaque caractère de la chaine est supérieur a 0xff? mais un char est codé sur 8bits donc ne pas etre supérieur.
Si qqun a une idée merci de m'éclaircir.