IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Découpage d'un tableau de byte(byte[])


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 200
    Par défaut Découpage d'un tableau de byte(byte[])
    Bonjour,
    Mon application doit lire et analyser des fichiers binaires.
    En utilisant la méthode BinaryReader.Read(), j'obtiens un byte[]. Jusque là, parfait.

    Mon objecif est de re-découper ce tableau en champs, qui eux sont des entiers de 1 à n octets.

    Exemple :

    01 2F 04 12 51 2E 5C 04

    => 01 | 2F04 | 12512E5C | 04

    Y-a-il un equivalent du String.Substring() pour les tableaux d'octets.

    Si je passe directement mes données en un string, est ce que je risque de perdre des données, vu qu'il ne s'agit pas de caractaires imprimables, mais d'octets ?

    Je suppose qu'il n'est toujours pas possible, en C#, de "recaster" une structure de N octets, en une structure de champs... Equivalent du union en ANSI C

    Merci d'avance

    Nicolas
    Strasbourg

    En rouge mes modif. Je dois passer par un BinaryReader et non un StreamReader pour ne pas perdre des données

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 92
    Par défaut
    Bonjour,

    Personnelement, je met ce que j'ai lu dans un Byte[] en passant avant out par un MemoryStream

    Byte[] monBufferLecture;
    MemoryStream _memoryStream = new MemoryStream();
    BinaryWriter _binaryWriter = new BinaryWriter(_memoryStream, Encoding.UTF8);

    sp.DiscardInBuffer();
    if (sp.BytesToRead > 0)
    {
    byte cb = (byte)sp.ReadByte();
    _binaryWriter.Write(cb);
    }

    monBufferLecture = new byte[_memoryStream.Length];
    monBufferLecture = _memoryStream.ToArray();


    Puis avec ce résultat, je "m'amuse" a extraire les bytes selon les besoins et les stoquer dans différents tableau de Byte[].

Discussions similaires

  1. Découpage d'un tableau de cellules en sous-tableaux
    Par sseneor dans le forum MATLAB
    Réponses: 19
    Dernier message: 17/09/2007, 23h01
  2. Découpage d'un tableau
    Par kagura dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 26/07/2006, 13h02
  3. [PERL] lire un fichier bytes à bytes
    Par LE NEINDRE dans le forum Langage
    Réponses: 1
    Dernier message: 09/01/2006, 10h59
  4. [C++.NET] Conversion Byte*/Byte[]
    Par SteelBox dans le forum VC++ .NET
    Réponses: 2
    Dernier message: 13/02/2005, 19h12
  5. [Byte] Passer de [] byte à [] Byte ?
    Par Galima dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 12/07/2004, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo