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 :

probleme de conversion ascii->text


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut probleme de conversion ascii->text
    bonjour! bon voila je vous solicite pour un petit problem ... probleme de comprehension surtout! en fait je dois afficher le contenu d'un fichier binaire sous forme lisible dans un editbox mais voila, quand je l'ouvre, son contenu est en caractere ascii par exemple :   € r o d'apres ce que j'ai compris tous ces caracteres sont codés sur 8 bits et sont dans la table ascii étendue (de 128 à 255) or moi je voudrais traduire le contenu en texte de façon à ce qu'il soit humainement lisible ce qui correspond plus aux caracteres ascii entre 0 et 127 enfin il me semble vu que la premiere moitié des caractere ascii contient l'alphabet, les majuscules ainsi que certains symboles tels que >, <,... mais j'avoue que je suis un peu perdu
    en gros est ce que quelqu'un sait comment passer d'un code en caractere ascii en texte? ou bien de l'hexa au texte car j'arrive a convertir la chaine de caractere ascii en hexa?
    merci

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    je dois afficher le contenu d'un fichier binaire sous forme lisible dans un editbox
    A la base ton fichier ne contient pas du texte compréhensible, mais des octets quelconques, c'est ça ? Donc il faudrait commencer par savoir comment tu veux transformer ça en quelque chose de lisible, non ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    en fait apres m'etre mieu renseigner je ne dois pas le traduire mais simplement l'afficher dans une editbox ce qui m'amene a un autre probleme. ma fonction qui me permet de lire et d'afficher est la suivante :

    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
    19
    20
    void lecture(HWND Dlg, char filetxt[501])
    {
    	char buf[2001];
    	char buf_temp[2001];
    	GetDlgItemText(Dlg,IDC_TEXT,buf_temp,1001);
    	strcpy(buf, buf_temp);
    	strcat(buf, filetxt);
    	strcat(buf, "\r\n\r\n");
    	std::ifstream fichier(filetxt);
    	if (fichier)
    	{
    		 std::string ligne;
    		 while(std::getline(fichier,ligne))
    		 {
    			 strcat(buf, ligne.c_str());
    		 }
            }
    	strcat(buf, "\r\n\r\n");
    	SetDlgItemText(Dlg,IDC_TEXT,buf);
    }
    filetxt est le nom de mon fichier et tous les strcat sont la parce que je boucle sur plusieurs fichiers pour afficher leur contenu a la suite dans l'editbox. j'ai utilisé getline justement pour ne pas avoir de probleme avec les caractere NUL mais malgré ça il ne lit pas la totalité du contenu de mon fichier (binaire je rappelle) soit il s'arrette avant la fin soit il saute des passage et reprend plus loin.
    est ce que quelqu'un voit ou est le probleme??
    merci

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 580
    Points
    41 580
    Par défaut
    Les fichiers binaires se lisent avec les fonctions comme read() et s'ouvrent avec le flag binary.
    PS: Tu devrais utiliser une std::string juste après le GetDlgItemText(). Cela faciliterait les choses...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    voila j'ai i ce code là à la place :

    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
    19
    20
    21
    void convert(HWND Dlg, char filetxt[501])
    {
      int length;
      char * buffer;
     
      ifstream is;
      is.open (filetxt, ios::binary );
     
      is.seekg (0, ios::end);
      length = is.tellg();
      is.seekg (0, ios::beg);
     
      buffer = new char [length];
     
      is.read (buffer,length);
      is.close();
     
      cout.write (buffer,length);
      SetDlgItemText(Dlg,IDC_TEXT,buffer);
      delete[] buffer;
    }
    j'ai enlevé les strcat pr le moment mais c'est encore pire qu'avant vu que la il s'arrette au premier NUL qu'il trouve

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 580
    Points
    41 580
    Par défaut
    Commence par réfléchir à ce que tu cherches à faire.
    Veux-tu vraiment afficher le contenu brut d'un fichier binaire dans une TextBox ?
    Ou plus tôt afficher son contenu brut en hexa ?
    Ou afficher son contenu traité ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    ben pr la traduction en hexa j'ai pa eu de problem j'ai utilisé la fonction suivante :

    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
    19
    20
    21
    22
    23
     void convert(HWND Dlg, char filetxt[501])
    {
        int c;
        char buf[10001];
        GetDlgItemText(Dlg,IDC_TEXT,buf,10001);
        strcat(buf, filetxt);
        strcat(buf, "\r\n\r\n");    
        std::string buffer=buf;
        std::ostringstream oss;    
        FILE *file;
        file=fopen(filetxt, "rb");
        while ((c = fgetc(file)) != EOF)
        {    
                oss << std::hex << c;
                buffer = oss.str();
                oss<<" ";
                buffer = oss.str();
        }    
        strcat(buf, buffer.c_str());
        strcat(buf, "\r\n\r\n");    
        fclose(file);;
        SetDlgItemText(Dlg,IDC_TEXT,buf);
    }
    cette fonction marche bien converti la totalité de la chaine sans s'arretter au NUL contrairement o otr

    sinon oui j'aimerai pouvoir faire les 3 affichages. pr l'hexa c'est réglé, pour l'affichage des données brutes ben ... tjrs le probleme des NUL, et pour l'affichage du contenu traité je ne sai pa comment m'y prendre dc si quelqu'un a une idée! merci

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 580
    Points
    41 580
    Par défaut
    C'est un beau bordel. Il faut s'organiser, ne pas mélanger les torchons et les serviettes. Ne pas mélanger le C et le C++, ne pas mélanger lecture du fichier et modification de IDC_TEXT.

    Essaie ce code simple :
    Il prend le nom de fichier en paramètre, et remplace complètement le contenu de IDC_TEXT par le contenu hexa du fichier.
    Code C++ : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    //Convertit une chaîne en hexa dont les octets sont séparés par des expaces
    //Ex: "ABC 42 xyz" doit devenir "41 42 43 20 34 32 20 78 79 7A"
    string ConvertToHex(unsigned char const *rawData, size_t length)
    {
    	ostringstream oss;
    	oss << hex << setfill('0');
     
    	for(size_t i=0 ; i<length ; i++)
    	{
    		if(i!=0)
    			oss << ' ';
    		int val = rawData[i];
    		oss << setw(2) << val;
    	}
    	return oss.str();
    }
     
    void ReadAndConvert(HWND Dlg, char const *fileName)
    {
    	//ouverture
    	ifstream is(fileName, ios_base::binary|ios_base::in);
     
    	char * buffer = NULL;
     
    	//recherche de la longueur
    	is.seekg(0, ios::end);
    	ifstream::pos_type length = is.tellg();
    	assert(length >= 0);
     
    	//Lecture
    	is.seekg(0, ios::beg);	
    	buffer = new char[length];
    	is.read(buffer, length);
     
    	//Conversion
    	std::string hexstr = ConvertToHex(reinterpret_cast< unsigned char * >(buffer), length);
    	delete[] buffer;
     
    	//Remplacement du texte de IDC_TEXT.
    	//Si tu veux ajouter au lieu de remplacer, inutile de toucher au code au-dessus.
    	SetDlgItemTextA(Dlg,IDC_TEXT, hexstr.c_str());
    }
    Je ne l'ai pas testé, mais il compile.

    PS: Pour ajouter au bout de la textbox, inutile de jouer avec strcat et cie: Utilise EM_SETSEL et EM_REPLACESEL:
    http://www.developpez.net/forums/arc.../t-148697.html
    http://www.developpez.net/forums/arc...p/t-81879.html

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    merci pour ton code ça marche nickel et c'est un peu plus "propre" que le mien! je sai que je melange souvent le C et le C++ mai meme si ça ressemble plus a du bidouillage qu'a outre chose ça ne m'a jamais posé de probleme!
    par contre en modifiant ton code de la façon suivante :

    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
    19
    20
    21
    void ReadAndConvert(HWND Dlg, char const *fileName)
    {
    	//ouverture
    	ifstream is(fileName, ios_base::binary|ios_base::in);
     
    	char * buffer = NULL;
     
    	//recherche de la longueur
    	is.seekg(0, ios::end);
    	ifstream::pos_type length = is.tellg();
    	assert(length >= 0);
     
    	//Lecture
    	is.seekg(0, ios::beg);	
    	buffer = new char[length];
    	is.read(buffer, length);
     
    	//Remplacement du texte de IDC_TEXT.
    	SetDlgItemTextA(Dlg,IDC_TEXT, buffer);
    	delete[] buffer;
    }
    afin de lire les données brutes, il s'arrette o premier NUL et dc ne lit que la premier "ligne" du fichier (je dis ligne pour l'ensemble des octet jusqu'au NUL mais je sais qu'il n'y a pas de notion de ligne dans un fichier binaire).
    est ce que tu saurais comment je peux lire l'intégralité des données brutes de mon fichier sans s'arretter sur des caractères spéciaux??
    merci

  10. #10
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 580
    Points
    41 580
    Par défaut
    Il est impossible d'afficher directement les données brutes, car le caractère nul ne correspond à rien.
    La plupart des éditeurs hexadécimaux n'affichent pas les caractères inférieurs à 32, les remplaçant généralement par des points.

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void Purity(char *s, size_t taille)
    {
    	for(int i=0 ; i<taille ; i++)
    	{
    		char c = s[i];
    		//Change juste les caractères de contrôle (0~31)
    		//Laisse les caractères étendus (-128~-1 ou 128~255) inchangés.
    		if(c >= 0 && c< 32)
    			s[i] = '.';
    	}
    }
    Dans ce code-là, il n'y a pas vraiment de différence entre C et C++, puisque c'est toujours sur le buffer qu'on travaille.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    oui effectivement ça marche tres bien avec la fonction Purity sauf que j'ai du la modifier car à par le caractere NUL j'ai d'autres caractere compris entre 1 et 31 à afficher. voila ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void Purity(char *s, size_t taille)
    {
    	for(int i=0 ; i<taille ; i++)
    	{
    		char c = s[i];
    		//Change juste les caractères de contrôle (0~31)
    		//Laisse les caractères étendus (-128~-1 ou 128~255) inchangés.
    		if(c==0)
    			s[i] = '.';
    	}
    }
    et ça marche mais j'ai 2 problemes. voila ma fonction qui parcours le fichiers et affiche :

    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
    19
    20
    21
    22
    23
    void Read(HWND Dlg, char fileName[501])
    {
    	//ouverture
    	ifstream is(fileName, ios_base::binary|ios_base::in);
     
    	char * buffer = NULL; 
     
    	//recherche de la longueur
    	is.seekg(0, ios::end);
    	ifstream::pos_type length = is.tellg();
    	assert(length >= 0);
     
    	//Reading
    	is.seekg(0, ios::beg);	
    	buffer = new char[length];
    	is.read(buffer, length);
     
    	Purity(buffer, length);
     
    	//Post in the editbox (IDC_TEXT)
    	SetDlgItemTextA(Dlg,IDC_TEXT, buffer);
    	delete[] buffer;
    }
    et ça affiche tout mon fichier mais ça me rajoute des caracteres a la fin comme par exemple : ýýýýÝÝÝÝÝÝÝA ou bien ýýýýÝÝQ
    et je ne vois pas du tout d'où ça vient!

    mon 2e problème concerne un fichier en particulier dont les caractères ne sont pas reconnus (à part le 1er qui est dans la table ascii les autres n'y sont pas) donc il me les traduit avec les caracteres ascii correspondant à leur codage binaire mais je voudrais les afficher directement
    voila le contenu de mon fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	¡ๆทःःਉזȘȈఅงࠂԂ܌ȝԆ—؂ᐅȑȈఅงࠂԂ܌ȎȈఅงࠂԂ܌ȎȈఅ՗ࠣЈЈਉЈਅ儛܇܇܇܇ࠇ؇आଇԍ܇ଇԍ܇ԇࠌ؋इԇࠌ؋इଇԍ܇ଇԍ܇ଇԍ܇ଇԍ܇ଇԍ܇
    et a la place il m'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	.¡.F			
    Ö .W#	
    
    Q	
    
    		
    
    
    
    
    ýýýýÑ
    enfin il me les met en ligne. d'ailleurs il y a toujours une suite de caracteres en trop à la fin (ýýýýÑ)

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    tiens ben la je viens de voir que ça ne les a pas affichés directement mais ça les a traduit directement (ce n'est pas ça qui est inscrit dans mon fichier) en fait dans mon fichier il y a une suite de caracteres tels que ':', des lettres greques telles que nu ou d'autres caracteres qui ne sont pas dans la table ascii et quand je les est mis dans mon msg ça les a traduit (voir mon msg précédent)

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    bon maintenant que j'arrive a afficher le contenu brut de mon fichier, a part quelques caracteres en trop a la fin, il faut je j'arrive a afficher le contenu traité mais je n'ai vraiment aucune idée de la façon de procéder! est ce que quelqu'un saurait comment faire? merci

  14. #14
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 628
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    La question peut sembler basique, mais, si déjà tu nous expliquais le genre de données que tu dois récupérer dans ton fichier binaire

    S'il a été écrit, c'est qu'il existe quelque part une structure qui a été utilisée pour contenir les informations et pour le transmettre sous forme de fichier, non

    Et donc le plus facile est sûrement d'utiliser cette structure pour relire le fichier, et avoir une chance de récupérer des valeurs compréhensibles

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    en fait les fichiers que j'essaye de lire sont des fichiers .cap! ce sont des conteneurs utilisés dans les javacards. c'est un peu comme des .jar. un .cap contient un package. il est constitué de "sous fichiers" que j'arrive deja a extraire! donc maintenant j'essaye de les lire 1 a 1! certains contiennent des déclarations de classes, d'autres des déclarations de méthodes ou encore des variables! en gros le type de données que je dois récupérer c'est du code. par contre je ne sais pas du tout comment ça a été codé! tout ce que j'ai c'est des lignes de caracteres ascii lorsque j'ouvre un des fichiers. voila tout ce dont je dispose!

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    deja est ce que quelqu'un à déjà traité ce genre de données et pourait m'expliquer le principe, parce que, loin d'avoir le code, je ne sais meme pas comment m'y prendre, ce qui me bloque completement!
    merci d'avance!

  17. #17
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 628
    Points : 30 692
    Points
    30 692
    Par défaut
    Il me semble que c'est du bytecode (on pourrait dire, que c'est quelque chose qui se situe à mi chemin entre le langage de troisième génération et l'instruction processeur :p), ce que tu récupère là...

    Du coup, il faudra sans doute passer, si cela existe, par une bibliothèque tierce pour le lire (libjava, peut être )...

    Tout cela étant sans certitude

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    ok merci meme si ça a l'air un peu plus compliqué maintenant lol. mais ce n'est pas trop grave si pour l'instant je n'arrive pas a lire ce seul fichier. J'essaye surtout de voir comment traiter les caracteres ascii pour les convertir en texte! et la le probleme reste entier...

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    alors voila, j'ai de nouvelles précisions à apporter.
    tout d'abord je voulais dire que j'avais réouvert une discussion que j'ai appelé "pb : caractere en trop lors de la lecture d'un fichier binaire" par rapport a un probleme qui a été abordédans cette discussion et que j'avais eu concernant justement des caracteres supplementaire qui apparaissaient lors de la lecture d'un fichier binaire et que cette discussion est résolue!

    deuxiemement, je voudrais donner un exemple d'un fichier que j'essaye de traduire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    (.Œ.
    .‡.=8=8=8=8‡.=.Œ.‡*‹.”..!‡*‹.	”..
    ‡.‡..‡z1.=Œ..‹.z.z!‹.-%a
    %¤kz%jn..%s...0.I.P.W.l.s.z..ˆ.........^................eŒ.pGŒ.p@Œ.p9Œ.p2Œ.p+Œ.p$Œ.pŒ.pŒ.pŒ.pm..z!‹.-*‹.*Ž. ad..z!‹.-**.Ž.!‰*.¯.";‹.#;¯‹.$¯‹.%z!‹.-**.Ž.!‰*.¯.";‹.#;¯‹.$¯‹.%z#‹.-‹.&2@oj‡.**‹.'**‹.()‹.#;‹.$*@‹.)z#‹.-‹.&2@oj‡.**‹.'**‹.()‹.#;‹.$*‹.)z!‹.-**.Ž.
    ‰*.¯.";‹.#;¯‹.$¯‹.%z!‹.-**.Ž.
    ‰*.¯.";‹.#;¯‹.$¯‹.%z!‹.-**.Ž.
    ‰*.¯.";‹.#;¯‹.$¯‹.%z!‹.-**.Ž.
    ‰*.¯.";‹.#;¯‹.$¯‹.%z!‹.-**.Ž.
    ‰*.¯.";‹.#;¯‹.$¯‹.%z
    commme vous pouvez le voir, il y a des structures qui se répetent meme si ça ne nous avance pas bcp. il faut savoir que ce fichier doit normalement contenir des définitions de méthodes d'ou je pense, la répétition de ce type de structure!

    et enfin, je pense que finalement le probleme est que les caracteres sont codé sur 8 bits (ascii étendu) étant donné que les données (char) sont définies par un octet... il est donc logique que le programme les interprete ainsi or je pense que le texte que je recherche est codé sur 7 bits avec un bit de parité (je ne sais d'ailleurs pas si ce bit est a gauche ou a droite des 7 autres) dc ma question est la suivante :
    comment fait on pour passer de l'ascii 8 bits a un codage en ascii 7 bits???
    je ne sais pas si j'ai été tres clair...

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    a oui une autre précision, le code que j'ai montré à été extrait du fichier par un programme que convertit les caracteres NUL (ou 0) en '.' dc tous les '.' sont en fait des caracteres NUL

Discussions similaires

  1. Conversion d'un texte en ASCII
    Par cleserv dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 25/05/2012, 11h33
  2. Probleme de Conversion de texte
    Par Seb33300 dans le forum C++/CLI
    Réponses: 6
    Dernier message: 13/04/2007, 18h15
  3. [debutant] Conversion ASCII
    Par septox dans le forum Débuter
    Réponses: 1
    Dernier message: 28/02/2005, 09h45
  4. [Math][Integer] Problème de conversion
    Par deathwing dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 11/05/2004, 17h01
  5. conversion : (Ascii en hexa) => nombre
    Par tut dans le forum C++
    Réponses: 3
    Dernier message: 21/04/2004, 14h44

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