Byte to string avec des caractères de 2 octets

Résolu
damien123456789 Messages postés 4 Date d'inscription mardi 5 mai 2009 Statut Membre Dernière intervention 26 mai 2009 - 25 mai 2009 à 17:54
damien123456789 Messages postés 4 Date d'inscription mardi 5 mai 2009 Statut Membre Dernière intervention 26 mai 2009 - 26 mai 2009 à 10:11
Bonjour,

J'ai un pb lors d'une conversion d'un tableau de bytes en string.
Le tableau de bytes représente une chaine de caractères dans un fichier provenant d'un serveur prologue.
Je souhaite convertir cette chaine selon la code page 1252 de windows.

J'ai essayé plein de choses mais mon résultat n'est pas bon.

Comment convertir directement en cp1252 ? (avec un encoding qui irait bien)

Sinon, j'aimerais au moins recupérer le caractere correspondant au byte. Or.....
Dans le fichier source, chaque byte représente un caractère. J'ai, par exemple, pour la chaine "13è", 31 (caractère 1 en hexa) puis 33 (caractère 3 en hexa) puis 8A (caractère è sous prologue).
Lorsque je convertis le byte en char, le char etant sur deux octets , je recupère C28A ce qui donne un carré à l'affichage et même pas le caractère correspondant à 8A seul.

Si vous avez des idées je suis preneur. Merci d'avance.

Damien

2 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
25 mai 2009 à 23:19
Salut,
As-tu essayé comme ceci  :

... = System.Text.
Encoding.GetEncoding(1252);

<hr />
-Blog-
-Site Perso-
3
damien123456789 Messages postés 4 Date d'inscription mardi 5 mai 2009 Statut Membre Dernière intervention 26 mai 2009
26 mai 2009 à 10:11
Merci beaucoup !

J'avais essayé les System.Text.Encoding.Default.GetString avec Default, UTF8, ASCII, bref ceux qui sont proposés, mais je ne savais pas qu'on pouvait donner des code page.

Petite variante, je dois passer le code page de mon serveur prologue (fichier source)  
donc avec System.Text.Encoding.GetEncoding(850), c'est tout bon.

Merci encore.

Damien
0
Rejoignez-nous