Convertir une chainne en binaire

Signaler
Messages postés
5
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
30 juin 2009
-
Messages postés
33
Date d'inscription
mercredi 18 octobre 2000
Statut
Membre
Dernière intervention
4 janvier 2010
-
bonjour,
je suis débutante ,et je veux convertir une chainne de caractere en binaire,est ce qu'il existe une fonction directe,aussi je veux convertir un fichier texte en binaire
je travaille avec le langage C
si quelqu'un a une idée
merci

8 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Admettons qu'il y a dans le fichier:
ABCD

Tu voudrais obtenir quoi ???

ciao...
BruNews, MVP VC++
Messages postés
5
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
30 juin 2009

je veux avoir un truc qui ressemble à 0101010100 du binaire


parce que je programme DES une methode de cryptage et je dois entrer une chaine de caractere et la convertir pour m'en servir comme une clé dans mon programme


merci
Messages postés
5
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
30 juin 2009

j'ai trouvé la solution  pour convertir un message texte en binaire qu'il faut passer par les etapes suivantes:
  -convertir les caracteres en code ASCII.
  -convertir le code ASCII résultant en binaire.
mais est ce qu'il y a pas d'autre moyen
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Un caractère EST le code ASCII, il n'y a rien à convertir.

ciao...
BruNews, MVP VC++
Messages postés
5
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
30 juin 2009

bonsoir
en fait on doit faire un simple cast pour avoir le code ascii d'un caractere quelconque
 

#include <stdio.h>
#include <stdlib.h>


int main()
{
char chaine[]="Hello World";
int i,k;


    /* Traitement ici */
   
    for (i=0 ; i<strlen(chaine) ; i++)
   {
    k=(int)chaine[i];
    printf("%d\n",k);
    }
    /* le sens contraire*/

    int l = 72;
char c = (char)l;
printf("%c\n",l);
    system("pause");
}

ensuite en code en binaire sur 8 bits (0-->255)
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Ne fais pas le strlen dans la boucle, inutile de le recalculer à chaque tour.

len = strlen((chaine);
for(i = 0; i < len; i++)

ciao...
BruNews, MVP VC++
Messages postés
5
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
30 juin 2009

oK ,
mais cette methode fonctionne trés bien s'il s'agit d'une phrase ,mais lorsq'on a un fichier à coder
de cette facon ca va ralentir .
mais je pense q'il y a pas d'autre moyen
merci et bonne soiré.
Messages postés
33
Date d'inscription
mercredi 18 octobre 2000
Statut
Membre
Dernière intervention
4 janvier 2010

Bonjour,

je souhaiterais convertir n'importe quel type de fichier (txt, jpg, avi, exe ...) en fichier binaire ou plutot en fichier texte contenant un suite de 0 et 1.



Merci pour votre aide.

sed