Précédent   Forum FS Generation > Futura-Techno : les forums de l'informatique et des technologies > Informatique > Logiciel - Software - Open Source
Mot de passe oublié ? Inscrivez-vous !


Réponse
 
Outils de la discussion Modes d'affichage
Vieux 01/06/2005, 10h37   #1
 
Date d'inscription: avril 2005
Messages: 2
conversion ASCII

Bonjour à tous

voila j'ai un tous un fichier codé en ASCII et je dois le convertir en Décimal ou Hexadécimal.

Connaiteriez vous un programme ou un logidciel qui ferai cela pour tout un texte car effectivement j'ai des tables mais j'ai plus de 1000 caractères à convertir.

merci beaucoup

Benoist35
Benoist85 est déconnecté   Réponse avec citation
Alt Aujourd'hui
Publicité

Beitrag Liens sponsorisés

   
Vieux 01/06/2005, 11h20   #2
 
Date d'inscription: juillet 2004
Messages: 914
Re : conversion ASCII

tu as un fichier texte comprenant du texte et tu veux recuperer le code hexa c est bien ca ??

abc -> 97 98 99
cricri est déconnecté   Réponse avec citation
Vieux 01/06/2005, 11h28   #3
 
Date d'inscription: juillet 2004
Messages: 914
Re : conversion ASCII

ce programme tourne sous vb ou vba dans excell word
Sub a()
Dim st As String
Dim st2 As String
Open "c:\a.txt" For Binary As #1
Open "c:\b.txt" For Binary As #2

st = " "
While Not EOF(1)
Get 1, , st ' lit un caractere
st2 = Asc(st) 'convertie
Put 2, , st2 ' ecrit
Wend
Close
End Sub
cricri est déconnecté   Réponse avec citation
Vieux 01/06/2005, 12h54   #4
 
Date d'inscription: janvier 2005
Messages: 1 036
Re : conversion ASCII

J'ai trouvé sur internet ce lien, si cela peut être utile :
http://www-physics.mps.ohio-state.edu/~prewett/hexedit/
C'est pour lire le fichier en ASCII, en Hexadécimal.

Mais je ne comprends pas très bien la question. S'agit-il de lire les octets du fichier en ascii ou en hexadécimal, ou bien est-ce que vous souhaitez plutôt convertir une chaîne de caractères (ASCII) représentant un nombre en un format numérique du genre hexadécimal, integer (entier court), long (entier long)... ?
EspritTordu est déconnecté   Réponse avec citation
Vieux 01/06/2005, 23h51   #5
 
Date d'inscription: août 2004
Messages: 1 123
Post Re : conversion ASCII

Bonsoir,

Si tu as un compilateur sous la main, voici le code en C++ (assez basique mais fonctionnel) :

Code:
// Ouvre un fichier texte ASCII et en affiche le contenu en decimal
// Reponse a http://forums.futura-sciences.com/thread35724.html
// (c) jepoirrier@gmail.com 2005 ; under GNU GPL for this simple code

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
	char filename[80];
	char ch;

	cout << "Nom du fichier : ";
	cin >> filename;

	ifstream fin(filename);
	cout << "Contenu du fichier : " << endl;

	while(fin.get(ch))
	{
		printf("%d", ch);
		cout << " ";
	}

	cout << endl << "*** Fin du fichier ***" << endl;

	fin.close();
	return 0;
}
Là, je suis sous Linux (si tu es aussi sous Linux, l'archive contenant le code et l'executable est ici) et je n'arrive pas à cross-compiler pour DOS/Windows.
jepoirrier est déconnecté   Réponse avec citation
Vieux 02/06/2005, 10h37   #6
 
Date d'inscription: août 2004
Messages: 1 123
Re : conversion ASCII

Bonjour,
L'archive contenant le code et l'executable pour DOS/Windows est ici.

Voici ce que ca donne :
jepoirrier est déconnecté   Réponse avec citation
Vieux 04/06/2005, 15h07   #7
 
Date d'inscription: janvier 2005
Localisation: loin
Messages: 207
Re : conversion ASCII

c'est clair que les programmes C sont super pratiques...

printf("%d", ch);

pour l'avoir en hexa, je crois qu'on fait comme ça

printf("%h", ch);

ps, dans le programme précédent, le C et le C++ ont étés mélangés, c'est pas forcément super. Pas de vérification d'erreur d'ouvertures ou de fermetures, voir de lectures...
__________________
on peu polémiquer longtemps comme ça, et est-ce que le monde tourneras plus rond ?
coucou747 est déconnecté   Réponse avec citation
Vieux 04/06/2005, 17h45   #8
 
Date d'inscription: août 2004
Messages: 1 123
Re : conversion ASCII

Bonjour,
J'ai écrit que le programme était "basique mais fonctionnel". Je ne prétends pas avoir écrit un programme révolutionnaire et respectueux de toutes les normes établies. Par contre, je ne vois pas où le C et le C++ ont été mélangés (à part le fait que le C++ dérive du C) et, comme j'apprends le C++, je suis intéressé de savoir comment le ré-écrire uniquement en C++.

(c'est le printf qui dérange, c'est çà ? Mais comment afficher un ascii en (hexa)décimal sans printf ?)

Dernière modification par jepoirrier ; 04/06/2005 à 17h49.
jepoirrier est déconnecté   Réponse avec citation
Vieux 04/06/2005, 19h28   #9
 
Date d'inscription: janvier 2005
Localisation: loin
Messages: 207
Re : conversion ASCII

la, t'avais pas affiché le char en hexa, mais simplement en décimal, pour ne pas afficher le caractère et l'afficher en décimale, tu fais :
cout << car+0;

et sinon, t'as une solution qui doit être plus simple (et plus propre), mais je ne l'ai pas testé :
cout << (int)car;
__________________
on peu polémiquer longtemps comme ça, et est-ce que le monde tourneras plus rond ?
coucou747 est déconnecté   Réponse avec citation
Vieux 04/06/2005, 20h43   #10
g_h
 
Date d'inscription: décembre 2004
Âge: 21
Messages: 844
Re : conversion ASCII

Attention avec la conversion en int, je ne sais pas si en C++ le type par défaut pour le char est signed, mais en C c'est indéfini.
Donc il vaudrait mieux insérer des signed ou des unsigned pour lever l'indétermination.

Sinon pour l'hexa avec printf, il me semble que c'est %x (et %X pour avoir des majuscules). Mais c'est possible qu'il y ait plusieurs possibilités.

En C++ il existe un moyen pour afficher directement de l'hexa avec cout.
Un truc du genre cout << hex << ch; (à chercher, je ne connais pas trop le C++)
g_h est déconnecté   Réponse avec citation
Vieux 05/06/2005, 08h49   #11
 
Date d'inscription: janvier 2005
Localisation: loin
Messages: 207
Re : conversion ASCII

C ou C++, par défaut, c'est signed !
__________________
on peu polémiquer longtemps comme ça, et est-ce que le monde tourneras plus rond ?
coucou747 est déconnecté   Réponse avec citation
Vieux 06/06/2005, 00h35   #12
g_h
 
Date d'inscription: décembre 2004
Âge: 21
Messages: 844
Re : conversion ASCII

Non, en C, c'est indéfini pour les char :
Citation:
[...] A plain char may be represented as either signed or unsigned depending upon the implementation [...]
cf. ISO 9899:1999 ; §6.2.5

Je viens de vérifier, c'est pareil en C++.
g_h est déconnecté   Réponse avec citation










Réponse

Tags
ascii, conversion

Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
fichier ascii en binaire vin_100 Logiciel - Software - Open Source 10 19/10/2007 22h50
Stéréogramme en ASCII arnaud 47 Logiciel - Software - Open Source 0 02/06/2007 11h00
ascii to décimal KHEOPS1982 Logiciel - Software - Open Source 2 30/05/2006 22h35
Joystick maison ( code ASCII) Bourkanieche Électronique 4 25/03/2004 19h02
Caractère ASCII sur Trame RS232 JP Électronique 6 04/09/2003 01h38


Les dernières actualités
11/10 15:13 - Sur Mars, Phoenix est à l'agonie au seuil de l'hiver arctique
11/10 13:05 - La Terre vue de l'espace : l'Europe occidentale sans nuage
11/10 10:52 - Des supraconducteurs nanométriques pour une nouvelle électronique
10/10 16:44 - Une centrale solaire pilote près de Bordeaux
10/10 14:34 - En bref : l'éclairage remplacera-t-il le Wi-Fi ?
10/10 13:33 - L'eau de boisson est-elle polluée par des médicaments ?
10/10 11:31 - Messenger envoie des images inédites de Mercure

Fuseau horaire GMT +2. Il est actuellement 02h57.


Édité par : vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. Tous droits réservés.