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

damien123456789 4 Messages postés mardi 5 mai 2009Date d'inscription 26 mai 2009 Dernière intervention - 25 mai 2009 à 17:54 - Dernière réponse : damien123456789 4 Messages postés mardi 5 mai 2009Date d'inscription 26 mai 2009 Dernière intervention
- 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
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 25 mai 2009 à 23:19
3
Merci
Salut,
As-tu essayé comme ceci  :

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

<hr />
-Blog-
-Site Perso-

Merci cs_Bidou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

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