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 :

Conversion hexa to string


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 113
    Par défaut Conversion hexa to string
    Bonjour,

    Je souhaite convertir une chaîne en hexa (sur 4 chiffres) en une chaîne de charactères.
    Existe t il une méthode java qui fait ceci? je n'ai rien trouvé dans ce sens (hexa --> string)

    Merci d'avance

    exple de conversion : 00620061006e007100750065 --> banque

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Une question: pourquoi 4 chiffres?... Tu utilises un encodage Unicode UTF-16?

    Tu peux utiliser la librairie "Codec" de "Jakarta Commons" qui décode les chaînes de caractères hexadécimales. Par contre, tu auras certainement quelques petites choses à recoder toi-même pour obtenir exactement ce que tu veux.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 113
    Par défaut
    C'est n'est pas moi qui est fait l'encodage, et je ne sais pas pourquoi 4 chiffres... unicode je crois... mais je ne connais pas grand chose à tout ça!
    c'est pour ça que j'ai besoin d'aide!
    Je vais regarder la librairie dont tu parles, tu n'aurais pas un exemple par hasard?

    Merci

  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
    Salut,

    Citation Envoyé par marion782
    exple de conversion : 00620061006e007100750065 --> banque
    C'est vraiment bizarre comme "encodage" d'utiliser de l'hexa tel quel
    (cela prend 4 fois plus de place que la chaine originale)

    Sinon il ne faut pas chercher midi à quatorze heure : l'algo est très facile puisqu'il suffit de découper la chaine en bloc de 4 caractères pour effectuer la conversion hexa :
    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
    	public static String convert(String hexa) {
     
    		// On vérifie la longeur de la chaine :
    		if (hexa.length() % 4 != 0) {
    			throw new RuntimeException("Taille incorrecte");
    		}
     
    		// Création du buffer de lecture :
    		StringBuffer buf = new StringBuffer();
     
    		// On parcours la chaine par bloc de 4 caractères :
    		for (int pos = 0; pos<hexa.length(); pos+=4) {
    			// On récupère la chaine courante :
    			String substring = hexa.substring(pos, pos+4);
    			// Que l'on convertit en int puis en char :
    			char c = (char) Integer.parseInt(substring, 16);
    			// Et on ajoute le char au buffer :
    			buf.append(c);
    		}
    		return buf.toString();
    	}

    a++

Discussions similaires

  1. conversion de type String --> hexa
    Par mikey91 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/09/2008, 13h20
  2. Conversion d'un string en hexa
    Par marsupilami34 dans le forum Langage
    Réponses: 3
    Dernier message: 07/07/2005, 09h13
  3. [Débutant] Conversion d'un String en Int
    Par chleuh dans le forum Langage
    Réponses: 9
    Dernier message: 30/12/2004, 13h33
  4. [C#] Conversion d'un string en byte[] et inversement
    Par david71 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/12/2004, 15h10
  5. Réponses: 2
    Dernier message: 21/06/2004, 15h55

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