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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 39
    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
    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
    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 averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 39
    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
    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
    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 averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 39
    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
    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
    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++

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