Accueil > Forum > > > > Conversion de byte[]
Conversion de byte[]
jeudi 30 novembre 2006 à 11:59:06 |
Conversion de byte[]

nicolaslepot
|
Bonjour les amis,
en C#, il y a bien un objet qui permet de
faire l'inversse de BitConverter... Mais j'arrive pas à le retrouver.
byte[] bitEncoded = ... ... ... string strEncoded =
BitConverter.ToString(bitEncoded); ... ... byte[] bitEncoded2 =
???????
Donc une fois que j'ai strEncoded, je voudrais le re-convertir
pour de nouveau retrouver la même chose que bitEncoded en byteArray.
Merci d'avance,
Nico
|
|
jeudi 30 novembre 2006 à 12:31:11 |
Re : Converssion de byte[]

MoDDiB
|
Convert.FromBase64String(); ?
|
|
jeudi 30 novembre 2006 à 13:53:37 |
Re : Converssion de byte[]

sebmafate
|
tu peux tout simplement utiliser : Pour encoder une chaine en byte[] :string maString = "ceci est un test !"; byte[] b = Encoding.Default.GetBytes( maString ); pour décoder :
string ret = Encoding.Default.GetString( b ); Sébastien FERRAND (blog) Consultant Indépendant [Microsoft MVP Visual C#]
|
|
jeudi 30 novembre 2006 à 14:20:16 |
Re : Conversion de byte[]

nicolaslepot
|
Coucou,
merci pour vos réponses.
Modib :
> je viens d'essayer, mais j'ai une exeption : "caratère non valide dans une chaine base64".
> Je crois que
Convert.FromBase64String(); est le contraire de Convert.ToBase64String(); car elle fonctionne bien l'une avec l'autre. Elle génère une chaine de caractères quelconques. Exemple :
Encrypted b64 (len=208) : AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAI1GmATuLGUWwqlcrxSrtgw AAAAACAAAAAAADZgAAqAAAABAAAACV5Ot2zre7+2LmXTTqB++cAAAAAASAAACgAAAAEAAAAFU1gcVMse sW7UWj7or2CcwQAAAAouRDE2E3fdlqQ5NWDOqe6hQAAACG2ygPQeZa+FjsYTZql7WfNBX0Sg==
> BitConverter.ToString(bitEncoded); génère une chaine de caractères qui représente de l'hexadécimal dirait-on. Exemple :
Encrypted bitconvert (len=461) : 01-00-00-00-D0-8C-9D-DF-01-15-D1-11-8 C-7A-00-C0-4F-C2-97-EB-01-00-00-00-23-51-A6-01-3B-8B-19-45-B0-AA-57-2B-C5-2A-ED- 83-00-00-00-00-02-00-00-00-00-00-03-66-00-00-A8-00-00-00-10-00-00-00-95-E4-EB-76 -CE-B7-BB-FB-62-E6-5D-34-EA-07-EF-9C-00-00-00-00-04-80-00-00-A0-00-00-00-10-00-0 0-00-55-35-81-C5-4C-B1-EB-16-ED-45-A3-EE-8A-F6-09-CC-10-00-00-00-A2-E4-43-13-61- 37-7D-D9-6A-43-93-56-0C-EA-9E-EA-14-00-00-00-86-DB-28-0F-41-E6-5A-F8-58-EC-61-36 -6A-97-B5-9F-34-15-F4-4A
sebmafate :
> J'aimerais bien pouvoir utiliser ta méthode qui m'a l'air bien plus abordable, mais je suis obligé d'utiliser BitConverter.ToString() car un autre programme sur lequel je tente de m'aligner pour ajouter des possibilités utilise cette technique pour coder des chaînes dans un texte. L'ancien programme et le mien (le nouveau) devront pouvoir tous les deux travailler avec ces fichiers.
> Justement avec Encoding.??? est-ce que je ne pourrais pas y arriver ?
Merci encore pour votre intérêt,
nico
|
|
jeudi 30 novembre 2006 à 14:48:53 |
Re : Conversion de byte[]

nicolaslepot
|
Pour avoir une idée de ce que contient le tableau de bit, je viens de faire ceci
Console.Write("Encrypted bit (len={0}) : ", bitEncoded.Length); for (int i = 0; i < bitEncoded.Length; i++) Console.Write("{0}", bitEncoded[i].ToString() );
qui me donne pour résultat :
Encrypted bit (len=154) : 100020814015722312120917140122019279194151235100035811 66159139256917617087431974223713100002000003102001680001600019032157168159242231 71266323111223273252360000412800160000160001571261242511372391361037914419813581 22718756160006123821614020526015721122821217615021367200200001689210815883209481 163810133245214233152341524468179
> En cherchant le rapport avec ce qu'a fait la méthode BitConverter.ToString(), à savoir :
Encrypted bitconvert (len=461) : 01-00-00-00-D0-8C-9D-DF-01-15-D1-11-8 C-7A-00-C0-4F-C2-97-EB-01-00-00-00-23-51-A6-01-3B-8B-19-45-B0-AA-57-2B-C5-2A-ED- 83-00-00-00-00-02-00-00-00-00-00-03-66-00-00-A8-00-00-00-10-00-00-00-95-E4-EB-76 -CE-B7-BB-FB-62-E6-5D-34-EA-07-EF-9C-00-00-00-00-04-80-00-00-A0-00-00-00-10-00-0 0-00-55-35-81-C5-4C-B1-EB-16-ED-45-A3-EE-8A-F6-09-CC-10-00-00-00-A2-E4-43-13-61- 37-7D-D9-6A-43-93-56-0C-EA-9E-EA-14-00-00-00-86-DB-28-0F-41-E6-5A-F8-58-EC-61-36 -6A-97-B5-9F-34-15-F4-4A
Je constate ceci : > 1 0 0 0 208 140 157 ... > 01-00 - 00-00 - D0 - 8C - 9D -...
on dirait une simple converssion du décimale vers l'hexadécimal. seulement, je vois pas trop bien pq une fois ca se fait sur 1digit décimal et après sur 2 digit....
Je sais qu'il y a un truc avec Windows qui inverse les chiffres hexa je crois. C'est la différence avec bigEndian et litleedian non ? si qq1 connait la règle et peut me la donner, il y a peut être moyen de frabiquer une méthode pour faire ce que je veux...
nico
|
|
jeudi 30 novembre 2006 à 16:54:38 |
Re : Conversion de byte[]

nicolaslepot
|
Voilà j'ai fait des recherches,
byte[] bitEncoded = ... ... ... string strEncoded = BitConverter.ToString(bitEncoded); ... ... byte[] bitEncoded2 = ???????
Je pense que strEncoded contient la représentation hexadécimale de la converssion de bitEncoded en UTF-x où x est une des versions de UTF. > UTF code en effet certait caractère sur 1, 2 ou 3 octets suivant les cas...
> Mais alors maintenant pour reconverir...
|
|
jeudi 30 novembre 2006 à 19:12:47 |
Re : Conversion de byte[]

nicolaslepot
|
j'ai trouvé le rapport...
il faut lire la chaine hexa par deux chiffres, et convertir ces 2 chiffres en décimal. Ce que je cherche à opbtenir n'est que la suite déciamale traduite de la chaine hexa.
1 0 0 0 208 140 157 223 1 21 209 17 140 122 0 192 79 194 151 235 1 0 0 0 35 81 01-00-00-00- D0- 8C- 9D- DF- 01 -15- D1- 11- 8C- 7A-00- C0- 4F- C2- 97- EB-01-00-00-00-23-51
Voilou, alors plutôt que de me prendre la t^te j'ai pensé faire ma propre petite méthode. Mais là encore j'ai un os :
byte[] bitDecoded = new byte[strDecoded.Length / 2]; for (int i = 0, b = 0; i < strDecoded.Length - 1; i++) { Console.WriteLine("- - - - - - - - -"); string nbHex = "" + strDecoded[i] + strDecoded[i + 1]; int nbDec = int.Parse(nbHex, System.Globalization.NumberStyles.HexNumber); for (int j = 0; j < nbDec.ToString().Length; j++, b++) bitDecoded[b] = nbDec.ToString()[j]; }
à la dernière ligne nbDec.toString()[j]; contient le premier caratère du chiffre décimale à insérer dans le tableau de byte. Evidement, le compilateur ne veut pas car il n'y a pas de conversion implicite de String vers Byte.
Comment je peux juste créer un byte qui à pour valeur le chiffre (sur 1 seul digit) qui se trouve dans un string ?
Merci d'avance (je me rends bien compte que le sujet est pénible),
nico
|
|
jeudi 30 novembre 2006 à 21:56:23 |
Re : Conversion de byte[]
|
vendredi 1 décembre 2006 à 04:02:55 |
Re : Conversion de byte[]

Lutinore
|
Salut,
// Le Tableau de départ. byte[ ] tab1 = { 76, 117, 116, 105, 110, 111, 114, 101 };
// Transforme le tableau en chaine via BitConverter. string str = BitConverter.ToString( tab1 );
// Affiche la chaine Console.WriteLine( "Contenu de la chaine :\r\n" + str );
// On vire les tirets de la chaine. string[ ] split = str.Split( '-' );
// Créer un nouveau tableau. byte[ ] tab2 = new byte[ tab1.Length ];
// Parse les chaines hexa en byte. for ( int i = 0; i < tab2.Length; i++ ) tab2[ i ] = byte.Parse( split[ i ], NumberStyles.HexNumber ); // ou TryParse.
// Affiche le tableau en hexa. Console.WriteLine( "\r\nContenu du tableau en hexa :" );
foreach( byte b in tab2 ) Console.Write( "{0:X} ", b );
// Pause. Console.ReadLine( );
|
|
vendredi 1 décembre 2006 à 10:32:05 |
Re : Conversion de byte[]

nicolaslepot
|
Coucou,
un tout grand merci les gars : le byte.Parse();
génial :)
|
|
Cette discussion est classée dans : conversion, byte, retrouver, bitencoded, bitconverter
Répondre à ce message
Sujets en rapport avec ce message
Conversion d'un int en byte[4] [ par RyoSaeba2 ]
'lut,je m'adresse à cette grande communauté de programmeurs et vous pose une question :Comment convertir un int en un tableau de 4 bytes (c#)?Merci po
conversion string en int, byte, hexa [ par vinc524 ]
C#bonjour, je cherche désespérémment un moyen pour convertir une chaine de caractere string en hexadecimal. En fait je voudrais le code ascii d'un car
Conversion d'un Byte en Hexadecimal [ par akaii ]
Bonjour, Tout est dans le titre je dois convertir une chaine de caractère en Byte puis en Hexadecimal j'ai actuellement un tableau de Byte[] contenan
[C#] [.NET] Conversion d'un Byte en Hexadecimal [ par akaii ]
Bonjour, Tout est dans le titre je dois convertir une chaine de caractère en Byte puis en Hexadecimal j'ai actuellement un tableau de Byte[] contenan
Cryptage et problème de conversion de Byte[] [ par deve007 ]
Bonjour , jai un string que je doit obligatoirement convertir en tableau de Byte, cette conversion se passe mal voici l'exemple : jai
conversion tableau de byte en image jpeg [ par laymouna98 ]
salut à tous voila je recupere une image qui est stockée sur sql server en format image, je l'affecte a un tableau de byte (byte [] ) mais je ne vois
Conversion byte en string et inversement [ par thomas750 ]
Bonjour à tous,Voila, je debute en C#, et j'aurais besoin de convertir un tableau de byte en string (et inversement):Pour la conversion byte --> strin
Conversion Hexadecimal to byte[ ] [ par Spawn3107 ]
Bonjour tout le monde, j'ai un petit soucis concernant mon programme. Est-ce que quelqu'un sait comment je peut convertir le hexadecimal en un table
conversion de text en byte [ par lesboulangeriessontferméeslelundi ]
BonjourQuelqu'un sait y comment skon pourrait faire pour transformer le texte d'une text box en byte ... ça commence à m'én... (pour rester poli) bien
lire un fichier binaire [ par ultrafil ]
Salut, j'ai besoin de lire des données dans un fichier binaire.Mon problème c'est que je n'arrive pas à faire de conversion en byte[]Je m'explique, j'
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|