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 :

reception des hex en java


Sujet :

Java

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 25
    Points : 14
    Points
    14
    Par défaut reception des hex en java
    bonjour tous,
    je veux faire un programme java qui reçoit des caractere de type "unsigned char" (en c).
    mon probleme et que le caractere reçu est transfermé en int.
    aucune idée?

  2. #2
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    montre nous ton code
    Pour chaque langage existe une faq / N'oubliez pas de lire les règles du forum

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    je travaille sur une camera qui m'envoie des caracteres hexadecimaux;
    Avec l'API javax.comm j'arrive a lires les caracteres et les sauvegarder dans un fichier mais le probleme et que les données sont fausses suite a la reception du java.

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    pour le code c'est un thread qui s'occupe de l'ecoute
    la lecture est faite par

    int L=bufRead.read();

  5. #5
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    je pense pas que c'est faux, t'es juste en base 10 avec ton int tu crois pas?
    Pour chaque langage existe une faq / N'oubliez pas de lire les règles du forum

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    merci pour vous,
    mais le code d'hoffman de debut de de l'image est juste ceci m'etonne.
    sauf que chaque marker de type 0x81 est transformé en 0x3f.
    je verifie la transformation et je vous repond.

  7. #7
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    Citation Envoyé par tun07
    merci pour vous
    désolé
    Pour chaque langage existe une faq / N'oubliez pas de lire les règles du forum

  8. #8
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    j'ai pris un photo :les caracteres faux sont tous transformés en 0x3f (111111 en binaire) ce qui fait penser au signe ou au promotion!!!!
    peut etre je suis a coté de la plaque mais cest normal pour un debutant en java.

  9. #9
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    tu peux montrer ton code (en entier) qui lit les données?
    Pour chaque langage existe une faq / N'oubliez pas de lire les règles du forum

  10. #10
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    /*on recoit la taille de l'image puis les données
    la taille est sur 2 caractere pour mon code c(dans la partie embarqué) c'est sont 2 unsigned char */


    public void run(){
    int i=0;
    try{
    BufferedWriter out = new BufferedWriter(new FileWriter("./java.jpg"));
    int H=bufRead.read();
    int L=bufRead.read();
    int count=H*256+L;//la taille est 0xHL
    while (true){
    try{
    out.write(bufRead.read());
    out.flush();
    i++;
    if(i>=count) break;
    }catch(Exception ee){
    ee.printStackTrace();
    }
    }
    out.close();
    System.out.println("Cest bon");
    }catch(Exception e){
    e.printStackTrace();
    }
    }
    }

  11. #11
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    quelque chose a ajouter?

  12. #12
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    ton bufRead est de quel type?

    Pour rappel, les BufferedReader/Writer sont utilisés pour lire/écrire les données de type caractères alors que les BufferedInputStream/OutputStream sont utilisés pour lire/écrire des données de type binaires
    Pour chaque langage existe une faq / N'oubliez pas de lire les règles du forum

  13. #13
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 241
    Points : 399
    Points
    399
    Par défaut
    Bonjour,
    je suppose que ton problème se situe dans la conversion "unsigned".
    Pour rappel, en Java, les types sont exclusivement signés, et donc pour obtenir un 'unsigned char', il faut utiliser un type tel le short.
    Personnellement, lorsque j'ai à effectuer ce genre de conversions, j'utilise un code de ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Supposons que le unsigned char est reçu dans cette variable.
    int unsignedChar = stream.read();
    unsignedChar = unsignedChar < 0 ? unsignedChar+256: unsignedChar;
    Ca fait très 'langage C', mais ça me convient.

    S. Desbois

Discussions similaires

  1. [SMS] reception des sms , smslib v2, java
    Par bil.dev dans le forum Multimédia
    Réponses: 11
    Dernier message: 14/05/2012, 18h35
  2. Présentation des nouveautés de Java 5.0 Tiger (J2SE 1.5)
    Par christopheJ dans le forum Langage
    Réponses: 43
    Dernier message: 30/09/2007, 17h38
  3. Réponses: 3
    Dernier message: 04/10/2005, 17h24
  4. Reception des données en paquet
    Par royrremi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/05/2004, 19h52
  5. [MFC]Pb de reception des messages!
    Par thief dans le forum MFC
    Réponses: 18
    Dernier message: 03/03/2004, 13h05

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