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

Windows Discussion :

Pollution d'un fichier texte par des caractères de contrôle ASCII


Sujet :

Windows

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 72
    Points : 42
    Points
    42
    Par défaut Pollution d'un fichier texte par des caractères de contrôle ASCII
    Bonjour,

    J'ai vu qu'il y avait le sujet mais sur Linux et je ne trouve pas un équivalent pour Windows.
    J'exporte des données d'une base pour les injecter par la suite dans une autre application. Dans les fichiers exportés (en UTF-16) je me retrouve avec des caractères type EOT, NUL, etc... au beau milieu du texte et qui apparaissent sous la forme textuelle & # 1 ; ou & # 2 ; etc... (j'ai mis des espaces exprès sinon la chaine est transformée)

    Ces caractères ne passent pas dans l'application qui traite ces fichiers exportés.

    J'aimerais savoir si l'on peut les supprimer via un process, une commande, un programme simple.
    J'ai essayé une petite application java toute bête qui me remplace la string par une chaine vide (ma_string.replace(.. ..)). Autant qd je sors en System.out je vois bien que les caractères en question sont supprimés mais il ne le le sont pas dans le fichier !!!

    Je sèche un peu sur la question là !!!

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 689
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 689
    Points : 13 118
    Points
    13 118
    Par défaut
    Es-tu sûr déjà que l'application cible gère l'unicode ?..

    Si c'est le cas, il faudrait contrôler que le fichier contienne bien un BOM (Byte Order Mark).
    S'il n'y en a pas, il est probable qu'il soit traité comme de l'UTF-8, d'où l'apparition des codes nul.
    Il suffirait alors simplement d'insérer le BOM (FFFE ou FEFF) en début de fichier pour retomber sur tes pieds

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 72
    Points : 42
    Points
    42
    Par défaut
    A priori oui elle le gère mais je pense qu'elle traite en UTF-8 et du coup les caractères de contrôle ne passent pas.

    Mais bon sur un autre topic java j'ai résolu mon pbme pour les supprimer donc ca devrait aller !!

    Je retiens tout de même le BOM a mettre en début de fichier. Merci

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 689
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 689
    Points : 13 118
    Points
    13 118
    Par défaut
    S'il n'y avait que des NUL, tu pourrais en effet considérer que tous les caractères tiennent dans la table ansi, mais tu as également d'autres codes (EOT, etc.). Tu prends donc le risque d'altérer certains caractères

    Prenons l'exemple de "œ" qui correspond au code 0x0153. Si tu supprimes l'octet de poids fort, tu vas te retrouver avec un "S" majuscule

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer un fichier texte contenant des ; sans les " imposés par Excel
    Par man_coef dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/12/2012, 21h22
  2. Délimitation d'un fichier texte par nombre de caractères
    Par kira_safi dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 04/08/2010, 11h43
  3. Réponses: 10
    Dernier message: 04/09/2009, 17h26
  4. Charger un fichier texte contenant des caractères
    Par dm_manu dans le forum MATLAB
    Réponses: 5
    Dernier message: 24/12/2006, 02h37
  5. [XSLT] Remplacer par des caractères spéciaux
    Par OXyGN dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 29/07/2005, 17h30

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