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 :

Problème avec DeflateStream


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut Problème avec DeflateStream
    Bonjour à tous,

    Je cherche à compresser un tableau d'octets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    byte[] Compress(byte[] oByteTab)
    {
        MemoryStream oMemoryStream = new MemoryStream();
        DeflateStream oDeflatStream = new DeflateStream(oMemoryStream, CompressionMode.Compress);
        oDeflatStream.Write(oByteTab, 0, oByteTab.Length);
        oDeflatStream.Flush();
        oDeflatStream.Close();
        byte[] oResult = oMemoryStream.ToArray();
        return oResult;
    }
    Le souci vient du fait que pour un tableau de 1024 octets passé, la fonction renvoi un tableau de 1660 octets...

    Qué passa?


    Merci beaucoup

    A bientôt

  2. #2
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    fais un fichier txt dans windows. Tu y mets qq lignes de texte (env 1k)
    tu en fais un fichier zip et tu compare les tailles des deux fichiers. Ton fichier compressé est plus grand... Normal. Il y a des information en plus qui concernent la compression et le fichier n'a été compressé que très peu...
    Si ça peut-être une voie de recherche...
    Par exemple, si tu prends un bitmap et que tu le compresse en jpeg à 100% de qualité, ton fichier jpeg sera plus grand que le bitmap.....

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Erf...



    On dirait que c'est proportionnel. Là j'ai un tableau de 361594 octets, et compressé ça me donne un tableau de 542768 octets :s les boules.

    Y'a pas d'autres algos de compressions qui existent?



    Car là comme ça, ça me donne envie de me faire une bidouille à moi.
    J'ai envie de parcourir mes octets. Si je trouve plusieurs fois les mêmes à la suite, je mets un caractère de drapeau, puis le caractère répété, puis le nombre d'occurences qu'il y avait.
    Pour décoder, je cherche le caractère drapeau, je récupère le caractère suivant puis le nombre d'occurences et je répète autant de fois le caractère en question.

    A savoir que c'est pour échanger des fichiers entre la France et l'île Maurice (débit moyen en download là bas c'est 6ko), je dois également gérer l'upload. Donc le temps processeur pour coder/décoder un tableau d'octets devient ridicule par rapport au temps de transfert.

    Est-ce que j'ai intérêt à faire ça? Y'a-t-il une autre solution?


    Merci beaucoup,

    A bientôt

  4. #4
    Membre éprouvé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Par défaut
    Ce qui se passe à mon avis, c'est que tes données ne sont tout simplement pas compressibles... elles doivent être déjà "optimisée" en terme d'espace.
    La compression n'est pas efficace sur 100% des données

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Ok,

    Bon bah j'vais me débrouiller.


    Merci

    A bientôt

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Essaye avec le GZipStream.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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