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

Messages postés
4
Date d'inscription
mardi 5 mai 2009
Dernière intervention
26 mai 2009
- - Dernière réponse : damien123456789
Messages postés
4
Date d'inscription
mardi 5 mai 2009
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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
58
3
Merci
Salut,
As-tu essayé comme ceci  :

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

<hr />
-Blog-
-Site Perso-

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 91 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Bidou
Messages postés
4
Date d'inscription
mardi 5 mai 2009
Dernière intervention
26 mai 2009
0
Merci
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
Commenter la réponse de damien123456789

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.