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

Java Discussion :

Créer un caractère Unicode \uXXXX


Sujet :

Java

  1. #1
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut Créer un caractère Unicode \uXXXX
    Bonjour, question bête je tourne en rond, je veux convertir des entitées html du type & # 8217 ; en \u 2019
    Je n'ai pas trouvé de classe qui fait ça, donc j'ai fait ma petite moulinette. Mais je bute sur quelque chose : j'arrive pas à créer un \uxxxx !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String s = "\\u" + Integer.toHexString(2019);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String s = "\u" + Integer.toHexString(2019);
    ne veulent pas fonctionner. Bien entendu, le 2019 n'est pas en dur dans mon code, mais c'est pour l'exemple.

    Une idée ?

    Merci d'avance
    Membre éclairé, lol !

  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,

    en fait tu n'a presque rien à faire

    Dans le code HTML le 8217 correspond à la valeur entière du caractère en base 10, tandis que dans l'unicode \u2019, 2019 correspond à la valeur entière du caractère en hexadécimal...

    Bien sûr 8217 est égal à 0x2019...

    donc un simple cast suffit :

    Ainsi pour remplacer tous les &#XXXX; d'une String, tu peux utiliser la méthode suivante :
    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
    	public static String parseHtmlCode(String input) {
    		Pattern pattern = Pattern.compile("&#([0-9]+);");
    		Matcher matcher = pattern.matcher(input);
    		StringBuffer buffer = new StringBuffer();
     
    		while (matcher.find()) {
    			char c = (char)Integer.parseInt(matcher.group(1));
    			matcher.appendReplacement(buffer, Character.toString(c) );
    		}
    		if (buffer.length()==0) {
    			// pas de modification
    			return input;
    		}
    		matcher.appendTail(buffer);
    		return buffer.toString();
    	}
    a++

  3. #3
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    Excellent ça marche à merveille !

    Membre éclairé, lol !

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

Discussions similaires

  1. [JDOM] caractère unicode de fin de ligne
    Par iceman dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 31/03/2009, 03h15
  2. ecrire un label avec des caractères unicode
    Par jamescook dans le forum C++Builder
    Réponses: 6
    Dernier message: 13/02/2007, 10h18
  3. Caractères unicodes dans le titre d'une JFrame
    Par dazz_x dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 19/04/2006, 15h29
  4. Réponses: 4
    Dernier message: 14/10/2005, 09h15
  5. [CR8.5] caractères unicode
    Par Milou79 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 03/09/2004, 11h42

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