VB.Net Imports System.Text.ASCIIEncoding qui fonctionne bisarement [Résolu]

cs_MagDix 532 Messages postés lundi 5 juin 2006Date d'inscription 6 octobre 2012 Dernière intervention - 14 janv. 2010 à 13:39 - Dernière réponse : cs_MagDix 532 Messages postés lundi 5 juin 2006Date d'inscription 6 octobre 2012 Dernière intervention
- 15 janv. 2010 à 14:53
Bonjour Je rempli un tableau à partir d'un fichier texte et certains caratères (par exmeple le "é") sont remplacés par des carrés.

Je me suis fais suggérer d'importer System.Text.ASCIIEncoding et lorsque je lis le fichier j'utilise ce code:

Dim ObjetFichier As StreamReader = New StreamReader(NomDuFichier, System.Text.Encoding.ASCII)



Maintenant les carrés sont remplacés par des Points d'intérogation.

Oui je peux utiliser le Replace mais... J'aimerais bien connaître un peu plus ce ASCIIEncoding


Ma question comment faire pour remplacer le Point d'intérogation par le bon caractère de mon fichier texte.


merci de votre aide
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
tpoinsot 345 Messages postés mardi 1 juin 2004Date d'inscription 17 octobre 2014 Dernière intervention - 14 janv. 2010 à 15:27
3
Merci
Bonjour,

ce doit être UTF8Encoding.

Mais il suffit de regarder la doc :
"
Le codage est le processus de transformation d'un jeu de caractères Unicode en une séquence d'octets. À l'inverse, le décodage est le processus qui consiste à transformer une séquence d'octets codés en un jeu de caractères Unicode. Pour plus d'informations sur les formats UTF et d'autres codages pris en charge par Encoding, consultez Fonctionnement des codages. Voir aussi Utilisation du codage Unicode.

Notez que Encoding est destiné à opérer sur des caractères Unicode, et non sur des données binaires arbitraires comme les tableaux d'octets. Si votre application doit coder des données arbitraires en texte, elle doit utiliser un protocole tel qu'UUEncode, qui est implémenté par des méthodes telles que ConvertToBase64CharArray()()().

Le .NET Framework fournit les implémentations suivantes de la classe Encoding pour prendre en charge les codages Unicode et autres :

ASCIIEncoding code les caractères Unicode en caractères ASCII simples de 7 bits. Ce codage ne prend en charge que les valeurs de caractères comprises entre U+0000 et U+007F. Page de codes 20127. Également disponible par le biais de la propriété ASCII.

UTF7Encoding code les caractères Unicode à l'aide du codage UTF-7. Ce codage prend en charge toutes les valeurs de caractères Unicode. Page de codes 65000. Également disponible par le biais de la propriété UTF7.

UTF8Encoding code les caractères Unicode à l'aide du codage UTF-8. Ce codage prend en charge toutes les valeurs de caractères Unicode. Page de codes 65001. Également disponible par le biais de la propriété UTF8.

UnicodeEncoding code les caractères Unicode à l'aide du codage UTF-16. Les deux ordres de primauté des octets sont pris en charge : primauté des octets de poids faible (little-endian, page de codes 1200) et primauté des octets de poids fort (big-endian, page de codes 1201). Également disponible via la propriété Unicode et la propriété BigEndianUnicode.

UTF32Encoding code les caractères Unicode à l'aide du codage UTF-32. Les deux ordres de primauté des octets sont pris en charge : primauté des octets de poids faible (little-endian, page de codes 12000) et primauté des octets de poids fort (big-endian, page de codes 12001). Également disponible via la propriété UTF32.

La classe Encoding est prévue à l'origine pour convertir entre différents codages et Unicode. L'une des classes Unicode dérivées est souvent le bon choix pour votre application.

Vos applications utilisent la méthode GetEncoding pour obtenir d'autres codages. Elles doivent utiliser la méthode GetEncodings pour obtenir la liste de tous les codages.

Le tableau suivant répertorie les codages pris en charge et leurs pages de codes associées. Un astérisque dans la dernière colonne indique que la page de codes est prise en charge en mode natif par le .NET Framework, indépendamment de la plateforme sous-jacente.
"

thip

Merci tpoinsot 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de tpoinsot
Meilleure réponse
tpoinsot 345 Messages postés mardi 1 juin 2004Date d'inscription 17 octobre 2014 Dernière intervention - 14 janv. 2010 à 18:50
3
Merci
tu mets System.Text.Encoding.UTF7


thip

Merci tpoinsot 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de tpoinsot
cs_MagDix 532 Messages postés lundi 5 juin 2006Date d'inscription 6 octobre 2012 Dernière intervention - 14 janv. 2010 à 18:31
0
Merci
Salut meric pour la doc...

J'avais lu un peu sur ca mais je m'y perd tellement. Je suis loin d'être un programmeur...


j'ai essayé de modifier l'Import en modifiant le ASCIIEncoding par UTF8Encoding ou autre et ca ne ofnctionne pas j'ai toujours le point d'intérrogation pour plusieur caractère...

Est-ce que j'ai bien fais ????

Merci de ton aide
Commenter la réponse de cs_MagDix
cs_MagDix 532 Messages postés lundi 5 juin 2006Date d'inscription 6 octobre 2012 Dernière intervention - 15 janv. 2010 à 14:53
0
Merci
Merci beaucoup...

Merci pour la doc mais étant loin d'être un programmeur je m'y perd un peu la tête.



meric de ton aide c'est très apprécié

A+
Commenter la réponse de cs_MagDix

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.