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

avec Java Discussion :

conversion Caractère vers ASCII


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Points : 58
    Points
    58
    Par défaut conversion Caractère vers ASCII
    bonsoir,

    j'ai un problème avec la conversion d'un caractère en ASCII :
    quand je fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("é".hashCode() )
    l'obtient la valeur : 233

    mais sur la table ASCII le code ASCII de "é" est 130 .

    ???

  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
    Deux choses :

    - é n'est pas ASCII et n'a pas de code ASCII. 233 est bel et bien son code ANSI et Unicode.

    (Je fais un Edit, car je découvre : )
    - J'admets que ça marche dans le cas présent, mais hashCode() ne ressemble pas à getAsciiCodeOfFirstChar() ni getANSICodeOfFirstChar().
    hashCode() n'est pas franchement pensé pour faire ça. Je me rends compte à l'instant que ça marche, ie, pour les chaînes d'exactement un caractère Unicode dans le BMP, ça renvoie son code unicode.

    Je conseille de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println((int)'é');
    ou si tu tiens vraiment à partir de "é" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println((int)"é".charAt(0));
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Points : 58
    Points
    58
    Par défaut
    j'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println((int)'é');
    et je reçoit toujours 233.

  4. #4
    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
    Oui, j'ai édité, pardon. J'avais même pas vérifié le code exact de é, je t'ai fait confiance.

    233 est bel et bien le code ANSI et Unicode de é. Je sais pas d'où tu sors le 130.

    Et, de fait, hashCode() marche bel et bien pour faire ce que tu demandes, je ne m'en étais pas rendu compte. Mais c'est quand même pas super clair, je recommande pas.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Conversion byte[] vers ASCII étendu
    Par midou256 dans le forum C#
    Réponses: 2
    Dernier message: 16/08/2013, 10h36
  2. Problème de conversion caractère vers Ascii
    Par Lastagette dans le forum VB.NET
    Réponses: 4
    Dernier message: 29/08/2012, 17h29
  3. Datastage Conversion EBCDIC vers ASCII
    Par erick_m33 dans le forum DataStage
    Réponses: 0
    Dernier message: 22/12/2008, 10h41
  4. [Conversion] Décimal vers caractère (Ascii)
    Par Hokage dans le forum Débuter
    Réponses: 2
    Dernier message: 01/10/2007, 11h39
  5. conversion UTF8 vers ASCII en C
    Par znarf dans le forum C
    Réponses: 2
    Dernier message: 05/07/2006, 13h55

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