Byte to string avec des caractères de 2 octets [Résolu]

Signaler
Messages postés
4
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
26 mai 2009
-
Messages postés
4
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
26 mai 2009
-
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

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Salut,
As-tu essayé comme ceci  :

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

<hr />
-Blog-
-Site Perso-
Messages postés
4
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
26 mai 2009

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