VB.Net Imports System.Text.ASCIIEncoding qui fonctionne bisarement

Résolu
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 14 janv. 2010 à 13:39
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 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
A voir également:

4 réponses

tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
14 janv. 2010 à 15:27
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
3
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
14 janv. 2010 à 18:50
tu mets System.Text.Encoding.UTF7


thip
3
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
14 janv. 2010 à 18:31
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
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
15 janv. 2010 à 14:53
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+
0
Rejoignez-nous