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# Discussion :

Encodage utf16 chrome vs firefox [Débutant]


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2002
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 38
    Points : 29
    Points
    29
    Par défaut Encodage utf16 chrome vs firefox
    Bonjour,
    La sauvegarde d'une page sous FireFox me donne des caractères utf16 sauvés pour chaque caractère sous la forme &#+code+; code étant une chaine de 4 chiffres 0-9.

    Cette forme, ennuyeuse au 1é abord, est en fait bien pratique et me simplifie énormément le traitement que je fais derrière.

    En revanche, la sauvegarde faite avec Chrome se fait avec le caractère unicode écrit tel que le caractère unicode apparait dans le navigateur :
    Σ est sauvegardé sous Chrome par "Σ", et sauvegardé sous FireFox par "&#931 ;" (je rajoute un blanc ici, sinon le Σ s'affiche Σ dans le forum)

    Comment puis-je transformer un texte contenant des ΣΣΣΣΣ par un texte contenant des &#931 ; &#931 ; &#931 ; &#931 ; &#931 ; ?
    C'est probablement basique de chez basique, mais je ne trouve aucune explication simple dans les pages d'aide fournies par les uns et par les autres.

    Merci par avance pour votre aide.

  2. #2
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2018
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Petit bout de code pour obtenir ce que vous désirez
    Bonjour,

    Lorsque je regarde le résultat que vous attendez, j'ai l'impression que vous désirez convertir de l'UNICODE vers UTF16.
    En .NET voici un petit bout de code que vous pouvez tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
                string utf16String = ""; // Mettre les symbôles sommes ici
                string unicodeString;
     
                // Transformation de UTF16 vers unicode
     
                StringBuilder sb = new StringBuilder();
                for (int cpt = 0; cpt < utf16String.Length; cpt++)
                {
                    // On ajoute &#votre caractère au format unicode puis ' ';' '
                    // La concaténation de chaîne dans un StringBuilder est plus rapide et consomme moins de mémoire
     
                    sb.AppendFormat("&#{0} ; ", char.ConvertToUtf32(utf16String, cpt));
                }
     
                unicodeString = sb.ToString();
     
                Console.WriteLine(unicodeString);
                Console.ReadKey();
    Si vous testez ce bout de code, vous obtenez bien le résultat que vous attendez. A voir si cela correspond bien à vos attente mais d'après ce que vous notez, on obtient bien :

    &#931 ; &#931 ; &#931 ; &#931 ; &#931 ;

    Bizarrement par contre, si sous Chrome je sauvegarde cette page web et que je la lis avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.ReadAllText("C:\\temp\\test.html", Encoding.Default)
    J'ai directement les codes &#931 ; qui s'affichent... Tenez-moi au courant et n'hésitez pas à me mettre un fichier d'exemple si vous voulez de l'aide.

    Société: Nicolas Giannone SPRL
    Email: nicolas.giannone.sprl@gmail.com

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2002
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 38
    Points : 29
    Points
    29
    Par défaut
    Merci beaucoup pour ton aide.

    ça marche.
    J'ai mis un foreach, qui gère le fichier sans se préoccuper de la taille.

    Je crois comprendre que ce codage en &# est spécifique au HTML 4, ce qui est le cas de page qui me posait ce pb.

    Gros merci, en tout cas.

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

Discussions similaires

  1. [Débutant] Problème de Tableau dans FireFox
    Par virgul dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 04/09/2006, 14h53
  2. [Tableaux] Encodage utf8 d'un tableau
    Par lodan dans le forum Langage
    Réponses: 8
    Dernier message: 28/08/2006, 13h57
  3. Problème d'encodage UTF8
    Par vg33 dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2006, 19h28
  4. fonction native d'encodage utf8 ?
    Par Bruno2000 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/05/2006, 17h27
  5. [Débutant]Encodage d'une chaine de caractères
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 03/08/2004, 16h47

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