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 :

Problème de caracteres


Sujet :

Langage Java

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Par défaut Problème de caracteres
    Bonjour,

    je dois encoder un caractere, par exemple '€'. Celui ci a comme code Ascii 128 (1 000 0000 en binaire),
    Seulement, si je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int Code = 0;
    String MonBinaire = "10000000";
    for (int i=0; i< cpt;i++)
    {            
           Code = Integer.parseInt(MonBinaire,2);     
           res = res + (char)Code;
    }
    Code est bien égal à 128, mais seulement le transtypage ne marche pas, car je n'arrive pas à recupérer mon signe '€' ....

    quelqun sait comment faire ?

    merci pour votre aide !

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Euh, la table ASCII ne contient que 128 caractères et le caractère € n'en fait pas partie.

    Diriges toi plutôt vers unicode pour ce genre de chose

    Valeur unicode du caractère €: 20AC

    utilisation dans une chaine:
    utilisation dans un char:

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Par défaut
    merci pour ta réponse,

    meme l'ASCII étendu ne le contient pas ?? je pensais...

    et sinon, je peux recupérer le code Unicode directement à partir de mon caractère ou non ?

    pour etre plus precise, mon problème est que je dois pouvoir encoder des caractères spéciaux, comme NUL ou autres... dans mon pg, ils sont traités avec leur code ASCII, j'aimerais donc pouvoir ensuite les récupérer sous leur forme originale....

    Suis-je claire ?

    encore merci !

  4. #4
    Membre confirmé Avatar de fomazou
    Inscrit en
    Mars 2004
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 220
    Par défaut convertion de caractère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int Code = 0;
    String MonBinaire = "10000000";
    for (int i=0; i< cpt;i++)
    {            
           Code = Integer.parseInt(MonBinaire,2);     
           res = res + (char)Code;
    }
    il faut initialiser res avant la boucle. et je ne pense pas que tu aies besoin d'une boucle pour faire la convertion. là c'est comme si tu veux convertir chaque bits en un caractère. alors que le tout doit faire le caractère '€'
    suffit

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Par défaut
    oui oui, pardon, il s'agit d'un extrait de mon code en fait... (j'ai mal fait le ménage : Res est initialisé et la boucle sert à autre chose)

    Pas d'autres idées pour mon problème sinon ?

  6. #6
    Membre actif

    Profil pro
    Enseignant
    Inscrit en
    Novembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 32
    Par défaut
    Salut,

    Si j'ai bien compris le probleme:

    Je pense que le problème n'est pas dans le code!

    Cela dépend de la source de votre texte, en d'autres termes: le type de votre entrée:

    Si vous lisez vos données à partir d'un fichier ou d'un JTextField, vous pouvez extraire des sous chaines qui contiennent (chacune) un seul caractère et vous faites la comparaison avec le code unicode de votre caractère, quand vous le trouvez (par equals) vous le remplacez.

    Si votre entrée est faite à partir de dos, il est impossible de le recuperer (même aussi si le format de votre fichier ne prend pas en charge l'unicode).

Discussions similaires

  1. problème reception caracteres
    Par marcuss dans le forum C++
    Réponses: 3
    Dernier message: 18/06/2011, 13h22
  2. Problème des caracteres accentués
    Par kodo dans le forum MySQL
    Réponses: 3
    Dernier message: 04/11/2010, 10h01
  3. Problème encodage caractere unicode
    Par NaBuCO dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 05/04/2009, 15h45
  4. Réponses: 0
    Dernier message: 11/12/2007, 19h26
  5. Réponses: 4
    Dernier message: 13/04/2005, 18h12

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