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 de Int en byte[] et inversement


Sujet :

avec Java

  1. #1
    Membre régulier Avatar de arkham55
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 179
    Points : 74
    Points
    74
    Par défaut Conversion de Int en byte[] et inversement
    Bonjour à tous et toutes,

    Vous allez bien?

    Voilà, en parcourant le net et les tutoriels je cherchais un moyen simple mais efficace de transférer un entier (2000) via un flux de données primitives (OutputStream) en le convertissant en tableau d'octets (byte[]).

    Je pense avoir pris le problème dans un autre sens, je m'explique :
    Comme un byte peut prendre de -128 à 127, je voudrai stocker l'entier 2000.

    J'ai essayé différemment :
    Je prends mon entier que je convertis en String, avec la méthode getBytes() je récupère un tableau de byte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int c = 2000;
    String g = Integer.toString(c);
    byte[] f = new byte[4];
    f=g.getBytes();
    Ensuite, je récupère chaque caractère du String créé par le tableau de byte, ce qui me redonne la valeur de mon entier plus grand que 127 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(int i=0 ; i<f.length ; i++)
    	System.out.print((char)f[i]+" ");
    La méthode ne paie pas de mine, mais fonctionne, en parcourant le net j'ai vu pas mal de solutions avec des masques binaires desquelles je ne comprends pas grand chose. (sur cette page notamment)
    Qu'en pensez-vous? Vous avez une alternative?

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 778
    Points
    5 778
    Par défaut
    Un simple DataOutputStream ferait l'affaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    DataOutputStream dos = new DataOutputStream(outputStream);
    try {
        dos.writeInt(2000);
    } finally {
        dos.close();
    }

  3. #3
    Membre régulier Avatar de arkham55
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 179
    Points : 74
    Points
    74
    Par défaut
    ah tiens, bah une mauvaise idée ça non plus ^^
    C'est parce que j'ai besoin de transformer les informations (ici un entier) en array de byte pour l'envoyer à un autre programme et cet autre programme demande de le transférer comme cela.
    Je vais regarder plus attentivement la doc du DataOutputStream (et DataInputStream également)
    Merci bien l'ami Y@m's ^^

Discussions similaires

  1. Conversion implicite int vers byte
    Par bzzzzz dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 19/08/2013, 09h21
  2. conversion unsigned int en BYTE[] VC++
    Par koukou11 dans le forum VC++ .NET
    Réponses: 4
    Dernier message: 11/03/2011, 02h24
  3. [Debutant(e)]conversion int to byte[] et inversement
    Par mune dans le forum Général Java
    Réponses: 23
    Dernier message: 21/07/2005, 15h47
  4. [Conversion]convertir int[] en bytes[]
    Par tony_big_guy dans le forum Langage
    Réponses: 5
    Dernier message: 02/05/2005, 16h47
  5. [C#] Conversion d'un string en byte[] et inversement
    Par david71 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/12/2004, 16h10

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