J'ai un problème, j'ai un stringbuilder qui est rempli par une application C++, alimentée par un tableau de byte, et je reçois des caractères unicodes dans le stringbuilder alors que je dois travailler en byte, donc en ascii de 0 à 255 et je reçois des valeurs comme 3280 etc.
Alors comment puis-je faire pour changer le charset du stringbuilder pour utiliser uniquement de l'ascii, puisque c'est ce que l'application C++ met dedans..
C'"est bien difficile à comprendre ton problème, on ,enfin je vois pas bien comment tout cela marche.
Avec un bout de code, ca serait plus simple.
comme ca, je dirais,( sans y connaitre grand chose):
soit ton appli c++ ne renvoie pas des caratères ascii,
soit il y a un problème avec string builder.
comment ton appli c++ envoie les caractères,
n'est t'il pas possible de faire une conversion de la valeur unicode en ascii avant d'alimenter ton string builder ( voir dans namespace System.Text je pense)
Apres, à priori, à moins d'avoir rencontrer exactement le meme probleme, et donc de voir le probleme avec toutes ses caractèrisituqes, il me semble bien difficile de répondre. Complète un peu la cause du probleme .
c normal que les carateres spéciaux passent à l'as en passant en ASCII, l'ascii possede 255 caracteres alors qu'unicode en possede ... un peu plus :big) ... tes caracteres spéciaux dependent du jeu de caracteres ascii que tu utilise!
Ouais ça je suis au courant, mais est-ce que quelqu'un peut m'expliquer pourquoi les caractère qui sortent de l'appli C++ sont entre 0 et 255, et que dans mon stringbuilder je reçois des caractère unicode genre 3280 !?
Dans l'appli C++ c'est un tableau de byte.. donc de 0 à 255.. et vu qu'un tableau de byte c'est pareil qu'un tableau de char en c++, ça me met ça dans une string, mais quand la string arrive côté C# elle est en unicode..
Donc la question est : Est-ce qu'il y a un moyen de changer le charset des string/stringbuilder en ascii plutot qu'en unicode..
Sans passer par une structure...
As tu résolu ton Pb car je suis confronté au même...
En clair, je donne le caractère € (ou tout autre caractère de la table ASCII étendue) et il faut que ça me retourne 128 (ou l'équivalent pour les autres)
ouai moi aussi j'ai le meme probleme
il faut aparament un Char qui ne represente pas un Char unicode mais plutot un Char qui prend en compte la norme iso-8859-1
mais le pb c'est que je ne sais pas comment faire si ta trouver quelques choses fait nous le partager
merci