|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
[C++] BASE64CONVERTER V1.1, UN ENCODEUR DÉCODEUR EN BASE64
Information sur la source
Description
Ce logiciel décode ou encode des chaînes de caractères ou des fichiers en base 64, un système qui convertit des données binaires en données texte (pour les mails). Je n'en ai pas trouvé sur internet qui encode ET décode (un seul qui décode) donc je vous en fais profiter :). J'ai conservé le code de base64.sourceforge.net, qui convertit à la fois les strings et les fichiers. ________________________________________ La version 1.0 traitait une façon originale de faire des threads, mais elle se révélait trop lente (et en réalité ce n'étaient pas des threads). Et l'appli était assez lourde (300ko) à cause des librairies STL. J'ai donc tout refait en C avec de vrais thread lancés avec _beginthread... Ca donne une petite appli de 41 Ko ! ________________________________________ Ce code va me servir avant tout à créer un logiciel pour envoyer ou lire des emails avec ou sans pièce jointe, et comme le protocole MIME le veut, les pièces jointes sont encodées en base64 ou UUEncode. Joyeux noël à tous !
Source
- // Je laisse volontairement l'ancien code pour ceux qui n'ont pas vu la source 1.0
- // URL de la source 1.0 : http://ordiman85.free.fr/logiciels/sources/Base64Converter%20v1.0%20-%20Source.zip
- //
- // Attention Ce code n'a plus aucun rapport avec le code de la version 1.1 !
- //
- // Pour les tâches d'arrière-plan
- //
- // Une alliance en une boîte de dialogue et la fonction PeekMessage
-
- // Variable définissant la tâche d'arrière-plan à lancer
- int CallBackJob = 0;
- MSG msg;
- // CreateDialog est non-bloquante, on doit donc lancer GetMessage ou PeekMessage
- HWND hWnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG), NULL, DialogProc);
- // Boucle (presque) infinie (terminée par return 0;)
- for (;;)
- {
- // Traite tous les messages
- while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
- {
- // Si le programme veut quitter
- if (msg.message == WM_QUIT)
- return 0;
- // Traitement dans Dialogproc
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- // Arrivé ici, il n'y a plus de messages, donc on peut continuer la tâche d'arrière-plan
- // Choisit la tâche à effectuer selon la variable CallBackJob définie auparavant
- switch (CallBackJob)
- {
- case JOB_ENCODE:
- OnEncode(hWnd);
- break;
- case JOB_DECODE:
- OnDecode(hWnd);
- break;
- default:
- // Attend un message
- WaitMessage();
- break;
- }
- }
// Je laisse volontairement l'ancien code pour ceux qui n'ont pas vu la source 1.0
// URL de la source 1.0 : http://ordiman85.free.fr/logiciels/sources/Base64Converter%20v1.0%20-%20Source.zip
//
// Attention Ce code n'a plus aucun rapport avec le code de la version 1.1 !
//
// Pour les tâches d'arrière-plan
//
// Une alliance en une boîte de dialogue et la fonction PeekMessage
// Variable définissant la tâche d'arrière-plan à lancer
int CallBackJob = 0;
MSG msg;
// CreateDialog est non-bloquante, on doit donc lancer GetMessage ou PeekMessage
HWND hWnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG), NULL, DialogProc);
// Boucle (presque) infinie (terminée par return 0;)
for (;;)
{
// Traite tous les messages
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
// Si le programme veut quitter
if (msg.message == WM_QUIT)
return 0;
// Traitement dans Dialogproc
TranslateMessage(&msg);
DispatchMessage(&msg);
}
// Arrivé ici, il n'y a plus de messages, donc on peut continuer la tâche d'arrière-plan
// Choisit la tâche à effectuer selon la variable CallBackJob définie auparavant
switch (CallBackJob)
{
case JOB_ENCODE:
OnEncode(hWnd);
break;
case JOB_DECODE:
OnDecode(hWnd);
break;
default:
// Attend un message
WaitMessage();
break;
}
}
Conclusion
Version 1.1, prête à compiler avec Code::Blocks Logiciel disponible sur http://ordiman85.free.fr/ Si vous trouvez des bugs ou des erreurs, ça donnera lieu à des corrections, promis ! Joyeux noël à tous et bonne année ;)
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Historique
- 28 décembre 2006 14:58:03 :
- Version 1.1 : retapé en C, gestion des threads ajouté (+ rapide et + léger -> 41Ko)
- 28 décembre 2006 15:18:32 :
- maj (petite correction)
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
conversion de fichiers en C. [ par primo177 ]
Bonjour tout le monde.J'aimerais savoir svp s'il existe un moyen de convertir un fichier word ( .doc) en uin fichier (.txt).Merci d'avance.C'est vraim
conversion de fichiers [ par sergio18 ]
salutJe fais un projet où je dois faire une conversion du fichier.POur cela le prof qui me suit m'a demandé d'effectuer ds un premier temps une lectur
Codage Base64 en C [ par jcf1981 ]
Bonjour je cherche une fonction C pour décoder une chaine de caractère en base64 . Pour la coder en PHP , pas de soucis mais pour la d
Client/serveur Socket transfert de plusieurs fichiers [ par atifelkhachine ]
Bonjour.quelqu'un peut me donner un pti guide pour realiser une application C/S de transfert de plusieurs fichiers binaires en utilsant les sockets .
Précision sur les include [ par buno ]
Salut les gens!J'aimerais avoir quelques petites précisions sur les fichiers que l'on inclus, notamment, j'aurais deux questions:- la premiè
Code Client/Server et envoi plusieurs fichiers ... [ par QuakeCoder ]
Bonjour, Après des efforts j'ai réalisé une petite application Client/Server qui sert à transférer plusieurs fichiers du clie
En-tête de fichiers [ par lisandru ]
Bonjour, Alors voila mon problème.Je voudrais savoir si il est possible d'insérer un en-tête dans un fichier sans avoir forcement a insérer l'en-tête
fichiers [ par marianna2005 ]
slt .j ai un grooooooooooos probleme et je veux de l aide: je fais un stage ds une societe de devloppement informatique.mon sujet est de faire un prog
Fichiers en ressources - API Windows [ par banane_rose ]
salut voilà je voudrais savoir comment mettre des fichiers en ressources du programmes puis après pouvoir les enregistrer après (dialo
!!! Petit sondage !!! [ par yoyo269 ]
Alors voilà. Je souhaite vous sonder (en tout bien tout honneur bien sûr) sur une source à déposer ou non. Il y a qq temps j'ai pr
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version

HTC G1
Entre 449€ et 449€
|