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

  1. ###raw>post.musername###
    Membre du Club
    Bonjour,
    j'essaye de concaténer 2 chaines de caractères, et ...
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var
      Ch1 : String;
      Ch2 : String;
      Ch   : String;
    begin 
      Ch1:='C:\Rep\';
      Ch2:='Essai.txt';
      Ch:=Ch1+Ch2;
    end;


    au lieu d'obtenir Ch:='C:\Rep\Essai.txt';, j'obtiens Ch:='C:\Rep\'#239#187#191'Essai.txt';, j'avoue que je ne comprends pas.
    Quand je suis les variables dans le débogueur, les variables Ch1 et Ch2 ont bien les chaines attendues ...

    bonne journée et merci d'avance
      0  0

  2. #2
    Membre éclairé
    Bonjour,

    Ce que tu obtiens c'est un BOM (Marqueur de début de fichier) UTF8 et c'est bizarre car cela ne devrait apparaître qu'au début d'un fichier texte (et encore c'est facultatif en UTF8 mais obligatoire pour UTF16)

    J'ai copié ton code dans LAZARUS et je n'ai pas ce comportement

    Cordialement

  3. #3
    Membre du Club
    Concaténation de 2 chaînes
    Bonjour,
    Merci pour cette réponse,
    effectivement, la deuxième chaîne de caractère 'Ch2' est extraite d'un fichier de configuration et elle se trouve sur la première ligne du fichier, juste après le BOM.

    ce que je ne comprend pas, c'est:
    1) pourquoi à la création du fichier, ce BOM à été généré. (je n'arrive pas à le reproduire)
    2) pourquoi lorsque je visualise les 3 chaînes dans le débogeur, je ne vois pas ce BOM dans 'Ch2'


    merci pour le temps que vous passez à lire et à répondre.

    bonne journée

  4. #4
    Membre éclairé
    Citation Envoyé par neho88 Voir le message

    1) pourquoi à la création du fichier, ce BOM à été généré. (je n'arrive pas à le reproduire)
    2) pourquoi lorsque je visualise les 3 chaînes dans le débogeur, je ne vois pas ce BOM dans 'Ch2'

    1/ Cela dépend de l'outil qui génère cette configuration (souvent il y a un paramètre pour sortir un fichier sans BOM.
    2/ Le BOM est un
    ZERO WIDTH NO-BREAK SPACE
    donc un espace insécable de longueur zéro il ne doit donc jamais apparaître dans le débogueur.

    De mon point de vue un fichier UTF8 avec un BOM ne devrait pas être généré car UTF8 a été conçu pour maintenir une compatibilité ascendante avec ASCII ce que casse le BOM. Tous mes éditeurs de texte sont réglés pour générer de l'UTF8 sans BOM mais j'ai du en tenir compte un jour pour lire du XML

    Cordialement

###raw>template_hook.ano_emploi###