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 :

Comment convertir de L'unicode en texte accentué


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Par défaut Comment convertir de L'unicode en texte accentué
    Bonjour, Cela fait déja deux bonnes heures que je cherche (pour les gens qui pense que je pose les questions sans chercher de mon coté !!!).

    Bref... Je ne trouve pas de solution pour changer le code uincode \u00e9 en "é".
    En effet on explique toutes les solutions dans l'autre sens.

    Je veux faire cela car je parse un texte ou il y a des caractères unicodes et je voudrai reconvertir le texte (String) en texte normal.

    Est ce que quelqun connait une solution ??? Merci d'avance...

  2. #2
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(new String(new char[] {'\u00e9'}, 0, 1));
    A toi de bidouiller comme tu veux...

  3. #3
    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,

    Les caractères unicode sont géré automatiquement par le langage...
    Si tu veux dire que tu dois analyser une chaine avec des \u**** pour les convertir en vrai caractère unicode, alors tu peux utiliser les regexp :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
        public static String parseUnicode(String original) {
            // Pattern de recherche des code unicode :
            Pattern pattern = Pattern.compile("\\\\u([0-9a-fA-F]{4})");
            Matcher matcher = pattern.matcher(original);
     
            StringBuffer buffer = new StringBuffer();
            // Recherche des éléments :
            while (matcher.find()) {
                // On récupère le code unicode (sans le u) :
                String value = matcher.group(1);
                // On le converti en caractère :
                char unicode = (char) Integer.parseInt(value, 16);
                // Et en effectue le remplacement :
                matcher.appendReplacement(buffer, Character.toString(unicode));
            }
            // Si le buffer est vide cela signifie qu'il n'a trouvé aucun élément,
            // On retourne directement la chaine original :
            if (buffer.length()==0) {
                return original;
            }
            // Sinon on rajoute la fin de la chaine avant de renvoyer la nouvelle chaine :
            matcher.appendTail(buffer);
            return buffer.toString();
        }
     
     
        public static void main(String[] args) {
     
            System.out.println( parseUnicode("Le caractère \\u00e9 !") );
        }
    a++

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/12/2007, 14h40
  2. Comment convertir un tableau de données en fichier texte?
    Par pimprenelle57 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/11/2006, 17h12
  3. Réponses: 4
    Dernier message: 06/06/2006, 12h07
  4. Réponses: 3
    Dernier message: 09/03/2006, 12h29

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