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 :

convertir un type (int ou string) en n bytes


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 37
    Par défaut convertir un type (int ou string) en n bytes
    bonjour,

    comment convertir un type (int ou string) en n bytes? plus précisement comment créer le packet suivant :
    on a un objet de type Byte[]
    on veut mettre :
    un string sur le 3 premiers bytes; byte[0] 1 2
    un int sur le deux suivant
    un string sur les 5 restants

    merci !

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Je vais répondre dans l'ordre


    String -> byte: utiliser soit la méthode getBytes(String encoding) soit passer par la classe encoder.
    int -> byte[]: tu ne fera jamais tenir un int sur deux byte, il en faut 4 en java. Ensuite, tout dépend si tu veux du little endian ou du big endian.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Je précise quand même que si on a besoin d'un int sur deux bytes, ça s'appelle un short.

    À noter aussi que parfois, pour représenter un "short de 0 à 2^16", autrement dit un short non signé, on utilise souvent un int en faisant gaffe à pas lui assigner du négatif ou des valeurs trop grandes. Dans ce cas, pour le faire tenir sur 2 bytes, il suffit de ne prendre que les deux bytes de poids faible et d'ignorer le reste.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 37
    Par défaut
    bon effectivement un int c'est plus gros, oublions le !
    voila je souhaite mettre

    String "bidule";// ldans les trois première bytes
    String "azerty";
    String "55555"; // dans les 4 derniers bytes

    dans

    byte[] myByte; //supposons qu'il fait 10 bytes.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 338
    Par défaut
    Un string a une taille variable de caractère, si tu utilise un encodage ASCII pour un string de taille n t'a besoin de n bytes donc ton "bidule" (length=6) sur 3 bytes c'est IMPOSSIBLE!!

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 156
    Par défaut
    A la rigueur tu peut les tronquer en utilisant substring

Discussions similaires

  1. Comment convertir un type int en type string
    Par vandeyy dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 05/08/2014, 14h41
  2. convertir un type null en string (re)
    Par pierrot67 dans le forum Bases de données
    Réponses: 8
    Dernier message: 01/01/2007, 19h27
  3. Réponses: 10
    Dernier message: 04/05/2006, 23h55
  4. Réponses: 3
    Dernier message: 23/02/2006, 09h37
  5. [LG]Convertir le type double en string
    Par @tom@ dans le forum Langage
    Réponses: 8
    Dernier message: 18/01/2004, 19h20

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