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

JavaScript Discussion :

Créer une chaîne de caractères à partir d'un tableau de code d'ascii


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 43
    Points
    43
    Par défaut Créer une chaîne de caractères à partir d'un tableau de code d'ascii
    Bonjour,

    J'ai un tableau de code ascii dont le contenu sera variable (réception d'un socket TCP par exemple) que je veux convertir en string:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    chrome.sockets.tcp.onReceive.addListener(function(info) { 
            var response = new Uint8Array(info.data);
    Je veux convertir le tableau response en string.
    J'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var s1= String.fromCharCode(response.data);
    mais sans succés.

    Merci pour votre aide.

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 311
    Points : 545
    Points
    545
    Par défaut
    Salut !
    La signature de la fonction fromCharCode de String est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String.fromCharCode(code1[, code2[, ...[, codeN]])
    chaque arguments doit être de type Number

    donc tu doit utilisé la méthode apply pour pour passer tes arguments sous la forme typé Array :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String.fromCharCode.apply(null,[65,66,67]) // return "ABC"
    la question est de savoir si response.data et de type Array, il est plus probable qu'il soit de type ArrayBuffer

    Edit : je vien de remarquer que la methode apply accepte les arguments sous la forme d'un TypedArray
    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String.fromCharCode.apply(null,(new Uint8Array(response.data))
    doit fonctionner !
    ShaderElement : Bénéficier de l’accélération graphique simplement par une nouvelle balise HTML <shader>
    ODE.js : portage JavaScript du célèbre moteur physique 3D Open Dynamics Engine

  3. #3
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 43
    Points
    43
    Par défaut
    Merci pour ton aide, mais ça ne marche pas.
    Enfin je m'en suis sorti en faisant à l'ancienne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            var s1="";  
            var octetx =  new Uint8Array([66,79,78,74,79,85,82]);  
            for (var i=0; i<octetx.length; i++)   {s1=s1+String.fromCharCode(octetx[i]);}		
            alert (s1);

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/10/2014, 12h11
  2. Créer une chaîne de caractères formatée
    Par gege2061 dans le forum Télécharger
    Réponses: 0
    Dernier message: 01/12/2010, 10h16
  3. Réponses: 3
    Dernier message: 24/10/2007, 01h47
  4. Réponses: 15
    Dernier message: 10/08/2007, 09h33
  5. Réponses: 8
    Dernier message: 16/06/2006, 01h06

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