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

Langage Java Discussion :

Affichage de la valeur unicode d'un caractère


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 39
    Points : 24
    Points
    24
    Par défaut Affichage de la valeur unicode d'un caractère
    bonjour,
    voilà mon code
    .....
    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
    String string = new String ("بج") ; // en arabe.
    String stringUTF = new String ( string.getBytes(), "UTF-8" );
    DevoyellationArabe.getStrDevArabe(stringUTF);
     
     
    et la fonction getStrDevArabe est la suivante:
    public static String getStrDevArabe (String str){
    		 if (str.charAt(0) == 'ب') {
    				System.out.println(" c'est correct B +++++++++++++++++++");
    			} else {
    				System.out.println(" c'est pas correct -----------------------");
    			}
    		 System.out.print(str.charAt(0));
     
    		return null;
     
    	}

    et il m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    c'est correct B +++++++++++++++++++
    ?
    à la place de ? je veux avoir l'unicode du caractère en question c'est à dire : \u0628

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par fafa624
    à la place de ? je veux avoir l'unicode du caractère en question c'est à dire : \u0628
    Lorsque tu affiches un char c'est toujours le caractère et non pas son code qui est affiché (le ? signifie que ta console ne supporte pas ce caractère).

    Pour afficher la valeur de son code il faut l'afficher comme un int :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println( (int)s.charAt(0) );
    Ce qui te donne 1576 (base 10).

    Et pour avoir le code unicode il suffit de convertir en base 16, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println( Integer.toHexString(s.charAt(0)) );
    Affichera 628...

    Ou bien avec Java 5 et la méthode printf() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.printf( "%04x", (int)s.charAt(0) );
    Qui permet d'afficher 0628

    a++

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    voilà plus simple et j'ai fait comme tu m'a dit mais çà n'affiche pas ce que je veux, sachant que la valeur de chare est un caractére arabe ن et m^me si je change le carachtère la réponse est toujours :

    63
    3f.

    char chare = 'ن';
    System.out.println( (int) chare );
    System.out.println( Integer.toHexString(chare) );

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fafa624
    char chare = 'ن';
    System.out.println( (int) chare );
    System.out.println( Integer.toHexString(chare) );
    En exécutant ton code j'obtiens ceci :



    Tu est sûr de l'encodage de ton fichier source ?

    a++

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    excuse moi mais je n'utilise pour le moment aucun fichier. voilà le code tout simple.

    import java.io.*;

    public class main {


    public static void main(String[] args) throws UnsupportedEncodingException {

    char chare = 'ن';





    System.out.println( (int)chare );
    System.out.println( Integer.toHexString(chare) );
    System.out.println("------------------------------");
    char chare1 = 'ك';
    System.out.println( (int) chare1 );
    System.out.println( Integer.toHexString(chare1) );

    }

    }


    et çà me donnne dans la console çà.
    63
    3f
    ------------------------------
    63
    3f


    alors que les deux variable chare et chare1 ne contiennent pas le même caractère.

    merci d'éxécuté çà et rend moi le résultat.

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fafa624
    excuse moi mais je n'utilise pour le moment aucun fichier.
    Je parle de ton fichier source...
    Avec quoi tu l'édites ? Comment tu le compiles ?


    Perso ton code me donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    1606
    646
    ------------------------------
    1603
    643
    a++

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    eclipse et ma VM est Standard Edition (build 1.4.2_05-b04)

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    j'ai même généré le fichier jar et execute sous la console dos de windows et toujour le même résultat.

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Et quel est l'encodage de ton fichier source (clic-droit sur le fichier puis properties)

    a++

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    cp1252

  11. #11
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fafa624
    cp1252
    Je ne pense pas que cp1252 gère ce type de caractère !!!
    eclipse ne te met pas d'erreur lors tu entres ces caractères ou que tu sauves le fichier ???

    a++

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    non pas du tout, et encore et je pense que çà vien pas de cela, car j'ai changer l'encodage du fichier source dans les propériéte du fichier comme tu me l'a dit et c'est toujour le même résultat.

    je suis vraiment perdu, c'est chiant de travailler sur les caractère arabe. mais je dois faire avec. il faut que je maitrise toute cette histoire d'encodage sinon je suis foutu.

Discussions similaires

  1. [W3C] Quelle est la valeur unicode du caractère •
    Par stars333 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/05/2007, 11h52
  2. forcer l'affichage d'une valeur null
    Par sundjata dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/11/2005, 09h52
  3. Réponses: 4
    Dernier message: 12/10/2005, 13h13
  4. [JDBC] Affichage d'une valeur de type CloB
    Par Jihed Amine Maaref dans le forum JDBC
    Réponses: 3
    Dernier message: 07/04/2005, 15h03
  5. Réponses: 13
    Dernier message: 24/02/2005, 16h45

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