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

Collection et Stream Java Discussion :

Compression de courte chaîne


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2009
    Messages : 29
    Par défaut Compression de courte chaîne
    Hello,

    Je désire compresser une courte chaîne d'information (pour générer un code-barres de petite taille). En m'aidant de java.util.zip, je m'aperçois que la chaine compressée est plus grande que la taille originale (ce qui est normale avec les données que je donne et l'algorithme utilisé).

    Voici un exemple de chaîne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <S>fi=3452355&re=aadjek&ty=df&nb=1000343</S>
    Y-t-il un autre algorithme/API à utiliser pour réduire la taille de cette chaîne ?

    Je me suis aider de ce code pour effectuer la compression : http://softwaredevscott.spaces.live....F3B7!299.entry

    Merci bien.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ce n'est pas possible car
    -> pour un code barre, tu est limité dans le nombre d'octets utilisable (obligé de prendre de l'ascii en général
    -> Une courte chaine ne présente aucune redondance pouvant servir à la compression

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2009
    Messages : 29
    Par défaut
    Merci bien

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Bah, au fond... Si le <S> de début et le </S> de fin sont toujours là, il est inutile de les mettre dans la forme compressée. Tu n'as qu'à les remettre à la décompression.

    Si les paramètres sont toujours fi, re, ty et nb, dans cet ordre, tu peux virer cette information.

    Ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    3452355&aadjek&df&1000343
    Les nombres peuvent être écrits en hexadécimal ou en base64 pour gagner de la place.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Si tes différents champs ont une limite de taille bien précise, on pourrait même aller plus loin dans la proposition de thelvin en supprimant les & et en mettant chaque champs sur un nombre fixe de caractère.

    a++

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 766
    Par défaut
    Oui c'est possible il faut utiliser une compression statistique de Huffman avec une table fixe calculée une fois pour toute. Ce qui te permet de la stocker sans la faire transiter.
    Les caractères revenant le plus souvent sont compressés sur quelques bits (3 ou 4), les autres sur plus.

    Zip sauve un dictionnaire pour décompresser ce qui le rend inutile pour des fichiers petits.

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    jimmy: tu va te retrouver avec du pur binaire, autrement dit une information qu'on ne peux sotkcer dans un code barre. A l'arrivée il devra convertir ses nombres 8 bits en un ensemble de données acceptable par le truchement, par exemple, de base64, ce qui au final refera grandir l'élément de 1/3 de la taille compressée. Vu le style de donnée, je suis dubitatif quand à
    -> la présence de données récurrentes
    -> l'utilité de tout ce bordel pour peut être gagner 5%

Discussions similaires

  1. Compression de chaîne
    Par Tommy31 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 29/07/2011, 17h35
  2. Compresser/Décompresser une chaîne
    Par Florian V dans le forum LabVIEW
    Réponses: 0
    Dernier message: 27/05/2010, 12h13
  3. [RegEx] S'arreter à la chaîne la plus courte qui correspond au pattern
    Par Concombre Masqué dans le forum Langage
    Réponses: 2
    Dernier message: 06/11/2008, 18h55
  4. Compression d'une chaîne de caractère
    Par olivier1209 dans le forum C
    Réponses: 11
    Dernier message: 12/11/2006, 09h30
  5. compression de données du point de vue algorithmique
    Par GoldenEye dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 26/06/2002, 15h51

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