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

C# Discussion :

Convertir String To byte[] sans passer par l'Encoding


Sujet :

C#

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Par défaut Convertir String To byte[] sans passer par l'Encoding
    Bonsoir !

    Je cherche à convertir "en brute" un string en byte[].
    Ce string contient uniquement des 1 et des 0.

    Sur internet j'ai trouvé rapidement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Text.Encoding.ASCII.GetBytes("111111111");
    Sauf que ca me donne un tableau remplit de 49 en valeur (numéro ascii de la table correspondant au 1), alors que moi je souhaite avoir un tableau de 1 !

    j'ai donc coder mes propres fonctions de convertion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            static byte[] ConvertStrToBytes(string str)
            {
                byte[] opts = new byte[str.Length];
                for (int i = 0; i < str.Length; ++i) opts[i] = Convert.ToByte(Convert.ToString(str[i]));
                return opts;
            }
     
            static string ConvertBytesToString(byte[] bytes)
            {
                StringBuilder sb = new StringBuilder();
                foreach (byte b in bytes) sb.Append(b);
                return sb.ToString();
            }
    Je me demande s'il existe une methode native dans la framework ? ou plus rapide !


    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    la réponse est non.

    la methode que tu as trouvé converti "1" en sa valeur char dans la table ascii (tu y remarquera que "1" est le caractere 49 de la table)

    C'est donc à toi de préciser comment tu veux que la donnée soit interprétée.
    Tu l'as fais ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Convert.ToByte(Convert.ToString(str[i]));

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/11/2012, 15h01
  2. convertir un tableau en une liste sans passer par une boucle
    Par sallemel dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 04/12/2008, 22h04
  3. Réponses: 4
    Dernier message: 05/02/2004, 18h18
  4. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 19h13
  5. [Kylix] Débrider Kylix sans passer par le Net
    Par BXDSPORT dans le forum EDI
    Réponses: 1
    Dernier message: 23/03/2003, 10h52

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