begin process at 2008 07 20 03:22:41
1 213 119 membres
42 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : String et byte[] [ Algorithme / Compression, Split et Cryptage ] (babe59)

String et byte[] le 24/01/2008 16:09:50

babe59

Bonjour,

Je voudrais stocker un tableau de byte dans une zone nvarchar d'une base SQL serveur. J'ai donc fait cela pour convertir mon tableau de byte en string :

for (int i = 0; i < strByte.Length; i++)
{
str2 += String.Format("{0:0000}", strByte[i]);
}
Exemple  :
   strByte[0] = 97
   strByte[1] = 0
   strByte[2] = 122
Donnera
   str2 = "009700000122"

mais je n'arrive pas à faire le contraire (mettre ces paquets de 4 caractèreS dans un tableau de byte)

Merci

DT

Re : String et byte[] le 24/01/2008 16:23:50

sebmafate
Membre Club
(Admin CS)
Et pourquoi ne pas utiliser tout simplement :

string System.Text.Encoding.Default.GetString( byte[] );

et

byte[] System.Text.Encoding.Default.GetBytes( string );



Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

Re : String et byte[] le 24/01/2008 16:57:30

babe59
Pour être plus précis : mon tableau de bytes est en fait le résultat d'un cryptage d'une chaine de caractères. Chaîne que je dois stocker dans une table d'une base SQLServer.
J'ai utilisé au départ ce qui suit : 
newUnicodeEncoding().GetString(CypherTexteByte);
et
newUnicodeEncoding().GetBytes(CypherText)


Après stockage dans la base de données (colonne en nvarchar(250)), je ne suis plus capable de décrypter la zone. Elle semble donc être modifié

J'ai essayé en ASCII, UTF8 et UTF32 mais cela ne change rien. Le DEFAULT fonctionne mais le programme pourra tourner sur des PC de différents pays. Le DEFAULT risque donc de ne pas être partout identique (pour ce que j'en sais).
Mon idée est donc d'écrire les byte 'en clair' dans ma zone de texte... plus de problème de codage...


DT

Re : String et byte[] le 24/01/2008 17:02:26

sebmafate
Membre Club
(Admin CS)
Réponse acceptée !
Etant donnée que tu es sous SQL Serveur pourquoi ne pas utiliser un champ image pour stocker tes bytes ?


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

Re : String et byte[] le 25/01/2008 07:49:42

SharpMao
Membre Club
Réponse acceptée !
Hello,

Oui, comme l'a dit Sebmafate, la meilleure solution est d'enregistrer directement tes bytes dans la base de données.

Si tu tiens vraiment à enregistrer ceci sous forme de string, un moyen est de passer par Base64 :

Convert.ToBase64String
Convert.FromBase64String


Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)

Re : String et byte[] le 25/01/2008 09:32:51

babe59
Merci à vous deux, j'étais parti sur l'insertion dans une zone "image" préconisé par Sebmafate mais la solution de ToBase64String me convient parfaitement.

Merci encore

DT


Classé sous : string, tableau, byte, str2, strbyte

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS