[VB.NET] BYTE ARRAY TO STRING

Résolu
bouv
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
- 5 juin 2008 à 16:08
bouv
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
- 6 juin 2008 à 11:29
Salut,

Je souhaite convertir un tableau de Byte vers en String.

J'avais commencé par écrire :

Dim sTChar
As
String = vbNullString

For i
As
Integer = 0
To UBound(ArrBFile)   sTChar += Chr(ArrBFile(i))

Next i
Ce code fonctionne très bien mais devient vite très très lent avec de grands tableaux.

Après quelques recherches j'ai lu que l'on pouvait utiliser la class System.Text.Encoding

Après plusieurs essais (UTF7, ASCII, Unicode...), j'ai obtenu le meilleur résultat avec :

Dim

sTChar
As
String = System.Text.Encoding.UTF7.GetString(ArrBFile)
Le problème est que sTChar ressort avec la bonne longueur (celle du tableau) mais seuls les 4 premiers caractères sont remplis. Les autres sont vides (espaces ??).

Il est important pour moi d'obtenir exactement le même résultat qu'avec la boucle et la fonction Chr

Avez-vous une idée ou un alternative ?

Merci d'avance

Bonne prog
++

15 réponses

bouv
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
6 juin 2008 à 11:29
J'ai enfin trouvé, je m'obstinait à chercher le bon encodeur alors qu'il ne faut simplement pas encoder.

Il fallait donc utiliser l'instruction suivante  :

System.Text.Encoding.Default.GetString(ArrBFile)

Bonne prog
++
1