Conversion de textes

  • Créateur du sujet Créateur du sujet Nune
  • Date de début Date de début

Nune

Membre confirmé
19 Juillet 2003
68
1
Toulouse
Bonjour,

j'ai besoin de convertir un texte entré dans une zone de texte. Pour cela je me sert de TECCreateConverter() et TECConvertText().
Donc je dois convertir le texte en entrée en fonction de la langue en un texte encodé au format Windows (pardon) correspondant.

Donc j'ai ce genre de choses (je vous ai passé les détails):
Bloc de code:
inputEncoding = CreateTextEncoding(kTextEncodingMacArabic, kTextEncodingDefaultVariant, kTextEncodingDefaultFormat);
outputEncoding = CreateTextEncoding(kTextEncodingWindowsArabic, kTextEncodingDefaultVariant, kTextEncodingDefaultFormat);
TECCreateConverter(&newEncodingConverter, inputEncoding, outputEncoding);
TECConvertText(newEncodingConverter, textBuf, byteLen, &actualInputLength, poText, outputBufferLength, &actualOutputLength);

Je fais mes tests en changeant la langue du clavier en Arabic, je tape mon texte en Arabe et la conversion n'a pas l'air de marcher.

Ma question est la suivante::heu:
Savez vous comment marche l'encodage des textes sous Mac?
Plus précisément si le texte entré avec un clavier arabe est bien encodé en kTextEncodingMacArabic, par exemple?

Merci.
 
Ma question est la suivante:
Savez vous comment marche l'encodage des textes sous Mac?
Plus précisément si le texte entré avec un clavier arabe est bien encodé en kTextEncodingMacArabic, par exemple?
En fait il n'y a aucun rapport entre l'encodage du texte (la façon dont sont codés les caractères: sur 1 ou 2 octets, etc...) et la configuration du clavier qui représente seulement, la correspondance entre les touches du clavier et les caractères. ;)

A+
 
Comment dois je faire alors pour récupérer le contenu d'un buffer d'une zone de texte tapé en arabe ou en russe , et le convertir respectivement en Windows Arabic ou Windows Cyrillic ???
 
Nune a dit:
Comment dois je faire alors pour récupérer le contenu d'un buffer d'une zone de texte tapé en arabe ou en russe , et le convertir respectivement en Windows Arabic ou Windows Cyrillic ???

Personnellement, avec Cocoa j'utilise un NSData dont on peut récupérer le contenu en une NSString en jouant avec les encodages. Je pense que si tu programmes en C tu dois pouvoir utiliser les équivalents CoreFoungation CFData et CFString. Quoique je pense que la création des CFString peut aussi jouer avec l'encodage. Pour le résultat, je ne pense pas que si par exemple ton OS ne gère pas l'arabe il soit succeptible d'afficher correctement des caractères dont l'encodage est en arabe, bien que les histoire d'encodages soient un peu plus complexes.