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

Langage Perl Discussion :

getBytes() en perl ?


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 18
    Par défaut getBytes() en perl ?
    Bonjour,

    J'essaye d'obtenir le même résultat que la fonction System.Text.Encoding.Default.GetBytes() de VB.net mais en perl.

    J'ai beau luter avec pack et unpack je n'arrive pas a trouver les bonnes options.

    Mon objectif et de convertir un string en array de bytes (ce que fais getBytes).
    Voici mon string que je veux convertir : ët¤A7w`_
    EDIT :
    J'utilise une petite fonction qui me permet de convertir mon tableau de bytes fournis par getBytes en Hexa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                For i = 0 To bytes.Length - 1
                    Console.Write("{0:X2} ", bytes(i))
                Next i
    Et voici ce que retourne cette fonction : EB74A4413777605F

    En fait j'ai besoin
    1 / Une solution en perl pour faire un getbyte() = Créer un tableau de bytes à partir d'un string.
    2 / Convertir ce tableau en Hexa pour comparer le résultat.

    Des idées ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Août 2008
    Messages : 505
    Par défaut
    Ca ressemble plutôt à une conversion de bytes en hexa que l'inverse.
    Je viens d'essayer ça, mais le code hexa produit ne correspond pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    use strict;
    my $str='ët¤A7w`_';
    foreach my $car (unpack('C*',$str)){ 
    	print sprintf("%1x",$car);
    }
    J'obtiens bien 605f pour les derniers caractères, ce qui correspond bien aux derniers caractères `_ en hexadécimal. La conversion marche pour ce qui est ascii. Visiblement, l'encodage (utf8,cp12xx,isoxxxx) va avoir une importance.

  3. #3
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 18
    Par défaut
    C'est exact, j'ai mal expliqué. Merci
    En fait j'utilise une autre fonction qui me permet de convertir les byte obtenue avec getbytes en Hexa.

    Ce qui donne une boucle en VB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 0 To bytes.Length - 1
         Console.Write("{0:X2} ", bytes(i))
    Next i

  4. #4
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 18
    Par défaut
    En fait j'ai besoin
    1 / Une solution en perl pour faire un getbyte() = Créer un tableau de bytes à partir d'un string.
    2 / Convertir ce tableau en Hexa pour comparer le résultat.

    Solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    my $ciphertext = ët¤A7w`_
     
    my @myArray=unpack('C*', $ciphertext); # voici le getbyte()
     
    foreach my $car (@myArray){
            print sprintf("%1x",$car);
    }
    Merci, merci, merci.

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

Discussions similaires

  1. [langage] Comparer Perl avec d'autres langages comme C ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2002, 23h52
  2. [langage] Inclure de perl en c !!!
    Par ryo00 dans le forum Langage
    Réponses: 2
    Dernier message: 30/05/2002, 10h03
  3. Réponses: 2
    Dernier message: 30/05/2002, 08h54
  4. [réseaux] Bench en Perl pour avoir le débit entre 2 pc
    Par Frich dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 22/05/2002, 17h22
  5. [web] Cherche un conseil pour un livre perl-tk
    Par Anonymous dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 29/04/2002, 15h35

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