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 de Base64 Décoding en C++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de xxiemeciel
    Inscrit en
    Juin 2005
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 371
    Par défaut Problème de Base64 Décoding en C++
    Bonjour,

    j'ai un problème pour décoder du Base64 venant d'un XML, j'ai essayé plusieurs fonctions de décodage venant de plusieurs sites/API différents mais elles ont toutes le même comportement étrange.Même Xerces n'arrive pas a décoder correctement.

    voila le problème, j'ai un string Base64 Encoded que je reçois dans du XML par un serveur, lorsque j'essaye de décoder ce string (qui est en fait de l'information binaire représentant une image jpeg), les fonctions ne me décodent que les 4 premiers octets et rien d'autre.

    j'ai l'impression qu'il y a des retours a la ligne qui empêche le décodage complet du binaire mais je n'arrive pas a le décoder complètement. J'ai essayé beaucoup de fonction aucune ne fonctionne mais étrangement, certain sites online en PHP arrivent a le décoder correctement en entier.

    Si quelqu'un aurait une solution en C++ ce serait chouette.
    merci
    XXiemeciel

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    Tu as essayé en enlevant les retours à la lignes ?
    Sinon faire soi même la conversion n'est pas très compliqué, voici la table que j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    static char const asciiToBase64[256] = {
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
        52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1,  0, -1, -1,
        -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,
        15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
        -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
        41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
    };
    Manque plus que la manipulation de bits pour convertir les 4 mots de 6 bits en 3 octets.

  3. #3
    Membre chevronné Avatar de xxiemeciel
    Inscrit en
    Juin 2005
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 371
    Par défaut
    Merci mais en fait j'ai trouvé ce qui se passais,

    il faut tenir compte des zones avec /0, il faut donc bien conserver la taille du buffer binaire sinon la plupart des fonctions s'arrêtent par défaut a la première case contenant NULL.

    XXiemeciel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème Conversion Base64
    Par bastok dans le forum VB.NET
    Réponses: 3
    Dernier message: 14/11/2011, 19h09
  2. [ZF 1.9] Problème base64 decode
    Par vince29 dans le forum Zend Framework
    Réponses: 10
    Dernier message: 30/06/2011, 11h21
  3. Problème de conversion en Base64
    Par smarties dans le forum Silverlight
    Réponses: 8
    Dernier message: 31/05/2011, 15h14
  4. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  5. 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