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

Java Discussion :

java: encodage des caractères


Sujet :

Java

  1. #1
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 212
    Points : 184
    Points
    184
    Par défaut java: encodage des caractères
    Bonsoir tout le monde.
    soit le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static void main(String[] args) throws IOException {
            String s = "NETWORK";
            try (
                    FileOutputStream fos = new FileOutputStream("d:/endian.txt");
                    OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF_16BE");) {
                osw.write(s);
                osw.flush();
     
            }
        }
    après l'exécution, j’obtiens un fichier contentant la chaine: N E T W O R K; la taille du fichier obtenu est 14 octets (7 caractères* 2 octets). remarquer les espaces entre les caractères de la chaine.
    quand je change l'encodage avec: UTF_16LE, j'obtiens un fichier de taille 14 octets, qui contient la chaine suivante: NETWORK. pas d'espace entre les caractères!!. pour quoi? j'attends une chaine comme la suivante:N E T W O R K
    complément: NETWORK codé avec big-endian UTF-16:
    00 4E 00 65 00 74 00 77 00 6F 00 72 00 6B
    NETWORK codé avec little-endian UTF-16:
    4E 00 65 00 74 00 77 00 6F 00 72 00 6B 00

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par win_ubuntu Voir le message
    pour quoi?
    Parce que l'éditeur de texte que tu utilises pour lire ces fichiers, arrive à détecter tout seul du UTF-16LE et l'afficher correctement, mais pas du UTF-16BE dans lequel il affiche des espaces à la place d'octets qu'il ne comprend pas.

    De toute façon les deux fichiers sont de taille 14 octets et contiennent 7 caractères que l'éditeur arrive à afficher. S'il traite différemment les 7 octets qui restent, ça ne peut venir que de lui bien sûr .
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 212
    Points : 184
    Points
    184
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Parce que l'éditeur de texte que tu utilises pour lire ces fichiers, arrive à détecter tout seul du UTF-16LE et l'afficher correctement, mais pas du UTF-16BE dans lequel il affiche des espaces à la place d'octets qu'il ne comprend pas.

    De toute façon les deux fichiers sont de taille 14 octets et contiennent 7 caractères que l'éditeur arrive à afficher. S'il traite différemment les 7 octets qui restent, ça ne peut venir que de lui bien sûr .
    merci infiniment; quand j'ai utilisé un éditeur hexa, j'ai obtenu le résultat attendu.

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

Discussions similaires

  1. Java EE, Encodage des caractères dans un formulaire
    Par sanzo1988 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/06/2012, 12h21
  2. [mysql]encodage des caractères
    Par ideal23 dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/10/2006, 13h16
  3. Probleme d'encodage des caractères spéciaux
    Par pacoulitou24 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 20/06/2006, 16h47
  4. Réponses: 15
    Dernier message: 24/02/2006, 14h17

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