Convertir une chainne en binaire

meryabdou Messages postés 5 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 30 juin 2009 - 28 juin 2009 à 20:50
cs_mogador Messages postés 33 Date d'inscription mercredi 18 octobre 2000 Statut Membre Dernière intervention 4 janvier 2010 - 10 déc. 2009 à 15:48
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
28 juin 2009 à 21:08
Admettons qu'il y a dans le fichier:
ABCD

Tu voudrais obtenir quoi ???

ciao...
BruNews, MVP VC++
0
meryabdou Messages postés 5 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 30 juin 2009
28 juin 2009 à 23:58
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
0
meryabdou Messages postés 5 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 30 juin 2009
29 juin 2009 à 01:37
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
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 juin 2009 à 10:40
Un caractère EST le code ASCII, il n'y a rien à convertir.

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
meryabdou Messages postés 5 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 30 juin 2009
29 juin 2009 à 23:19
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)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 juin 2009 à 00:36
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++
0
meryabdou Messages postés 5 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 30 juin 2009
30 juin 2009 à 00:44
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é.
0
cs_mogador Messages postés 33 Date d'inscription mercredi 18 octobre 2000 Statut Membre Dernière intervention 4 janvier 2010
10 déc. 2009 à 15:48
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
0
Rejoignez-nous