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++Builder Discussion :

Probl�me d'encodage ascii


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    29
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 29
    Par d�faut Probl�me d'encodage ascii
    Bonjour

    J'utilise C++ Builder 6 et je rencontre un souci d'�criture dans des fichiers.

    Dans le programme que je fais actuellement, j'ex�cute le bout de code suivant:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    FILE *txtFile;
    txtFile = fopen("file.txt","w");
    fprintf(txtFile,"toto");
    fclose(txtFile);
    J'ouvre ensuite le fichier file.txt. L'affichage ascii montre bien "toto" mais l'affichage hexa me montre "FF FE 74 00 6F 00 74 00 6F 00"

    Dans des programmes pr�c�dents, le m�me code m'affichait �galement "toto" en ascii mais "74 6F 74 6F" en hexa.

    Je pense qu'il s'agit d'un probl�me d'encodage du fichier texte mais je n'ai pas la moindre de l� o� cela peut se situer car je n'ai jamais changer ce genre d'option.

    Pourriez-vous �clairer ma lanterne ?
    Merci d'avance.

  2. #2
    Membre �m�rite Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    890
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 890
    Par d�faut
    C'est le BOM (Byte Order Mark) parce que le fichier est en unicode:

    http://fr.wikipedia.org/wiki/Marque_d'ordre_des_octets

  3. #3
    Membre �m�rite
    Avatar de Interruption13h
    Inscrit en
    Ao�t 2005
    Messages
    603
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 603
    Par d�faut
    Salut!

    Citation Envoy� par Milowen Voir le message
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    FILE *txtFile;
    txtFile = fopen("file.txt","w");
    fprintf(txtFile,"toto");
    fclose(txtFile);
    T'es s�re qu'avec ce code t'obtient ce r�sultat, ou bien un autre code similaire !?
    Du genre la chaine "toto" est lu � partir d'une ressource quelconque, et �crite par la suite dans ton fichier.txt

    Remarque: je ne me souvient pas avoir vu que C++ Builder 6 prenait en charge l'UNICODE.


    Cordialement.

  4. #4
    Membre �m�rite Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    890
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 890
    Par d�faut
    Citation Envoy� par Interruption13h Voir le message
    Remarque: je ne me souvient pas avoir vu que C++ Builder 6 prenait en charge l'UNICODE.
    Ce n'est pas Builder qui interpr�te le BOM (surtout pas Builder 6 ), mais le fopen de windows:

    If the file is already in existence and is opened for reading or appending, the Byte Order Mark (BOM) is used to determine the correct encoding.

  5. #5
    Membre �m�rite
    Avatar de Interruption13h
    Inscrit en
    Ao�t 2005
    Messages
    603
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 603
    Par d�faut
    Citation Envoy� par 10_GOTO_10 Voir le message
    Ce n'est pas Builder qui interpr�te le BOM (surtout pas Builder 6 ), mais le fopen de windows:
    Oui, sauf que �a c'est uniquement dans Visual Studio.

    D�ailleur on peut m�me sp�cifier l'encodage lors de l'ouverture du fichier.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    fopen("newfile.txt", "rw, ccs=<encoding>");
    Mais pas dans BCB6.

    A+

  6. #6
    Membre �m�rite Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    890
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 890
    Par d�faut
    Citation Envoy� par Interruption13h Voir le message
    Oui, sauf que �a c'est uniquement dans Visual Studio.

    Mais pas dans BCB6.
    Mmoui, effectivement, je viens de faire le test.

    La cha�ne ne peut pas venir non plus d'une autre ressource, comme tu le sugg�rait, puisqu'elle contient des \0 et que fprint attend des char *

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    FILE *txtFile;
    txtFile = fopen("file.txt","w");
    fprintf(txtFile, "\xFF\xFE\x74\x00\x6F\x00\x74\x00\x6F\x00");
    fclose(txtFile);
    Enregistre ""FF FE 74"

    Peut-�tre que le fichier a ensuite �t� ouvert par un �diteur qui enregistre automatiquement en UNICODE ?

  7. #7
    Membre �m�rite
    Avatar de Interruption13h
    Inscrit en
    Ao�t 2005
    Messages
    603
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 603
    Par d�faut
    Citation Envoy� par 10_GOTO_10 Voir le message
    La cha�ne ne peut pas venir non plus d'une autre ressource, comme tu le sugg�rait, puisqu'elle contient des \0 et que fprint attend des char *
    Autant pour moi :p
    J'avais tout � fait omis ces z�ro

    Citation Envoy� par 10_GOTO_10 Voir le message
    Peut-�tre que le fichier a ensuite �t� ouvert par un �diteur qui enregistre automatiquement en UNICODE ?
    �a doit s�rement �tre �a.

    A+

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. probl�me d'encodage ascii
    Par khadi8 dans le forum G�n�ral Python
    R�ponses: 1
    Dernier message: 12/04/2014, 22h30
  2. Probl�me D'encodage ASCII
    Par Frank_Rook dans le forum G�n�ral Python
    R�ponses: 2
    Dernier message: 23/03/2012, 10h40
  3. Probl�me d'encodage en Unicode
    Par Skreo dans le forum Entr�e/Sortie
    R�ponses: 5
    Dernier message: 28/12/2005, 10h43
  4. Probl�me d'encodage sur MySql 4.1
    Par Blanchet dans le forum Outils
    R�ponses: 1
    Dernier message: 04/12/2005, 04h53
  5. [XML::PARSER] Probl�me d'encodage
    Par frangin2003 dans le forum Modules
    R�ponses: 13
    Dernier message: 05/09/2005, 14h59

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