je le script Perl suivant qui génère une chaîne basée sur un nombre:Comment générer des séquences de caractères comme hexadécimal avec une base différente?
my @chars;
push @chars, map(chr, 48..57), map(chr, 97..122);
my $c = $#chars+1;
for (0..50) {
my $string;
my $l = $_/$c;
my $i = int $l;
my $r = ($l - $i) * $c;
$string .= $chars[$r];
while ($i > 0) {
$l = $i/$c;
$i = int $l;
$r = ($l - $i) * $c;
$string .= $chars[$r];
}
print "$string\n";
}
Quand je lance ce que je reçois la sortie suivante:
0
1
2
3
4
...
z
01
01
21
21
41
41
61
61
81
91
91
b1
b1
d1
d1
Qu'est-ce que je manque? Reconnaissant pour toute aide!
Qu'essayez-vous de l'obtenir à faire? Que demandez-vous exactement? Demandez-vous comment vous convertissez radix ou demandez-vous une analyse de ce code perl? –
J'essaye de créer quelque chose de similaire à Base64 mais avec la base de 36 dans ce cas, en utilisant la plage de caractères donnée dans @chars. – tbjers