J'ai une chaîne qui contient par exemple "414243440045464700". En fait,
chaque "paire" correspond à une valeur en hexa, dont je souhaite
récupérer le caractère correspondant, ce qui donnerait dans l'exemple
ci-dessus 2 chaînes de caractères :
- "ABCD\0"
- "EFG\0"
Comment le faire efficacement ?
Je me doute que les fonctions pack/unpack vont me servir, mais je ne
vois pas trop encore.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jl_morel
Dans l'article <3fafcdb9$0$23186$, a dit...
J'ai une chaîne qui contient par exemple "414243440045464700". En fait, chaque "paire" correspond à une valeur en hexa, dont je souhaite récupérer le caractère correspondant, ce qui donnerait dans l'exemple ci-dessus 2 chaînes de caractères : - "ABCD " - "EFG "
Comment le faire efficacement ?
Je me doute que les fonctions pack/unpack vont me servir, mais je ne vois pas trop encore.
Bonne intuition. On peut faire :
#!/usr/bin/perl -w use strict;
my $s = "414243440045464700";
my @chaines = unpack '(Z*)*', pack 'H*', $s;
$,="n"; print @chaines;
__END__
-- J-L.M.
Dans l'article <3fafcdb9$0$23186$79c14f64@nan-newsreader-02.noos.net>,
pbert@hotmail.com a dit...
J'ai une chaîne qui contient par exemple "414243440045464700". En fait,
chaque "paire" correspond à une valeur en hexa, dont je souhaite
récupérer le caractère correspondant, ce qui donnerait dans l'exemple
ci-dessus 2 chaînes de caractères :
- "ABCD "
- "EFG "
Comment le faire efficacement ?
Je me doute que les fonctions pack/unpack vont me servir, mais je ne
vois pas trop encore.
J'ai une chaîne qui contient par exemple "414243440045464700". En fait, chaque "paire" correspond à une valeur en hexa, dont je souhaite récupérer le caractère correspondant, ce qui donnerait dans l'exemple ci-dessus 2 chaînes de caractères : - "ABCD " - "EFG "
Comment le faire efficacement ?
Je me doute que les fonctions pack/unpack vont me servir, mais je ne vois pas trop encore.
Bonne intuition. On peut faire :
#!/usr/bin/perl -w use strict;
my $s = "414243440045464700";
my @chaines = unpack '(Z*)*', pack 'H*', $s;
$,="n"; print @chaines;
__END__
-- J-L.M.
Stephane Chazelas
2003/11/10, 17:41(+00), Paul Bert:
J'ai une chaîne qui contient par exemple "414243440045464700". En fait, chaque "paire" correspond à une valeur en hexa, dont je souhaite récupérer le caractère correspondant, ce qui donnerait dans l'exemple ci-dessus 2 chaînes de caractères : - "ABCD " - "EFG " [...]
J'ai une chaîne qui contient par exemple "414243440045464700". En fait,
chaque "paire" correspond à une valeur en hexa, dont je souhaite
récupérer le caractère correspondant, ce qui donnerait dans l'exemple
ci-dessus 2 chaînes de caractères :
- "ABCD "
- "EFG "
[...]
J'ai une chaîne qui contient par exemple "414243440045464700". En fait, chaque "paire" correspond à une valeur en hexa, dont je souhaite récupérer le caractère correspondant, ce qui donnerait dans l'exemple ci-dessus 2 chaînes de caractères : - "ABCD " - "EFG " [...]