begin process at 2012 02 10 11:30:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Convertir chaine ASCII en UTF8 et vice versa


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Convertir chaine ASCII en UTF8 et vice versa

vendredi 6 avril 2007 à 16:50:05 | Convertir chaine ASCII en UTF8 et vice versa

JuS

Bonjour,

Je travaille sur une application client-serveur (client en C#, tournant sous WinXP - serveur en C, tournant sous Solaris). J'envoie une chaine de caractères en UTF8, via socket, du client vers le serveur et j'aimerai que le serveur (en C) convertisse cette chaine UTF8 en chaine ASCII mais je ne sais pas comment faire. Je souhaiterai aussi faire l'inverse (toujours en C) c'est-à-dire convertir une chaine ASCII en une chaine UTF8.

Y aurait-il une personne qui serait susceptible de m'aider ?

Merci d'avance


-=[JuS]=-
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live
vendredi 6 avril 2007 à 17:14:56 | Re : Convertir chaine ASCII en UTF8 et vice versa

SAKingdom

Membre Club
Sous Windows:
WideCharToMultiByte
MultiByteToWideChar

C++ (@++)

vendredi 6 avril 2007 à 17:18:34 | Re : Convertir chaine ASCII en UTF8 et vice versa

SAKingdom

Membre Club
Ah oups, sous Solaris. Là j'en sais rien.

C++ (@++)

vendredi 6 avril 2007 à 18:32:44 | Re : Convertir chaine ASCII en UTF8 et vice versa

yann_lo_san

Il faut que le client envoi un stream déjà formaté ascii, c'est le plus simple. c'est dans le #using System.Text

StreamWriter Buffer = new StreamWriter(text, 
                                                             true, 
                                                             System.Text.Encoding.ASCII
                                                             taille);

Sinon je vois pas.

vendredi 6 avril 2007 à 22:56:52 | Re : Convertir chaine ASCII en UTF8 et vice versa

JuS

Cétait le cas avant mais j'ai du modifié car je code une partie de ce que j'envoie avec un algo qui donne des lettres qui ne font pas parti du code ascii. C'est pour cela qu'il faut que je fasse la communication en utf-8.

Mon client envoi un tableau de bytes qui est ensuite récupéré par le serveur, qui le retransforme en une chaine de caractères. Et c'est en faisaint cette trasformation que mes données cryptées perdent leur sens car pour le serveur au lieu d'avoir un mot de 3 lettres par exemple, il a un mot de 6 lettres (x2).

-=[JuS]=-
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live
samedi 7 avril 2007 à 17:01:40 | Re : Convertir chaine ASCII en UTF8 et vice versa

vecchio56

Administrateur CodeS-SourceS
mbstowcs

_____________________________________
Un éditeur de ressources gratuit pour Windows

lundi 16 avril 2007 à 11:33:57 | Re : Convertir chaine ASCII en UTF8 et vice versa

JuS

En fait j'ai trouvé d'où viens le problème. Ce n'est pas une conversion que je dois faire.
C'est la fonction recv sui récupère la chaine envoyée au socket qui ne code pas en UTF 8. Est-ce possible d'utiliser la fonction recv pour de l'UTF 8 ? Si non, il y en a-t-il une autre de fonction ?


-=[JuS]=-
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live
samedi 12 mai 2007 à 16:44:04 | Re : Convertir chaine ASCII en UTF8 et vice versa

Klephte

salut,
Je travaille sur un sujet très proche du tiens. J'ai écrit un client en C multiplateforme (Windows et Unix) fait stocker par un serveur Unix des fichiers (et accessoirement doit les restituer). Le problème est qu'il n'est pas interdit que des clients utilisent un jeux de caractères autre que l'iso-8859-1 (problème avec les accents, ? et autres ... ) et qu'une restitution puisse se faire d'un windows vers un Unix , d'un windows Français vers un Windows US etc ....
je te conseillerai donc le projet Apache APR ( [ Lien ]) qui offre une solution multiplateforme de convertion tables de caractères locales <-> UTF-8.

J'ai eu beaucoup de mal à compiler la librairie iconv car le fichier apr_iconv.h n'exportait pas ses fonctions (erreur LNK2019), un petit
#ifdef __cplusplus
extern "C" {
#endif
suivi de son accolyte a corrige cela.




Cette discussion est classée dans : serveur, chaine, convertir, ascii, utf8


Répondre à ce message

Sujets en rapport avec ce message

CONVERSION EBCDIC PACKED en ASCII [ par Michel76 ] Bonjour,J'ai trouvé un script C++ sur le site pour convertir de l'EBCDIC en ASCII, mais malheureusement pour moi je dois convertir des fichiers EBCDIC Comment convertir un texte en ASCII [ par Arcocide ] Je dois envoyer un texte par l'intermediaire d'un Edit dans C++ builder 5 en ASCII. Je demande donc comment convertir mon texte que j'envois en ASCII. conversion de date [ par CHENRY ] En VC++ 6.0 avec les MFC.Pour convertir une date en chaine, j'ai bien trouvé la propriété MaChaine = MaDate.Format(0, LANG_USER_DEFAULT)mais pour conv convertir une chaine de caractére? [ par supergrey ] je voudrai savoir comment convertir une chaine de caractére en un unsigned short (équivalent unicode)?merci d'avance convertir une chaine de caracatères en hexadécimal [ par vinc524 ] salut all !voilà je voulais savoir s'il existe une fonction pour convertir une chaine de caractètes provenat du port série RS232 récupéré par la métho convertir des chaine en type int [ par super ienien ] comment convertit on des chaine de type char en type entier ou inversementmeci d'avance probleme entre chaine et tableau [ par Elkaire ] salut a tous, je debute en C et je me retrouve confrontéau probleme suivant : dans une mon application cllient serveur mon client envoie des trames so Utiliser ANSI au lieu d'ASCII [ par Telepathmaster ] Bonjour,Je dois développer une sorte de serveur en C++, qui permette les transferts de fichiers.Ayant fait mon serveur et un client adapté, j'essaie d Comment convertir un chiffre hexa en caractere ASCII? [ par akjoe ] Je voudrais simplement savoir comment faire pour convertir un chiffre hexa (exemple: FF) en sa correspondance ASCII.Merci de me répondre.AkjoePS: je t convertir une chaine de caratère en int sans perte de données [ par wantofirst ] bonjour tous le mondej'ai le problème suivant:j'avais une chaine de caractère (0x3de4a7fa) que je devait l'ecrire en (0xfaa7e43d);ce que j'ai réussi a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales