私は数に基づいて文字列を生成し、次のPerlスクリプトを持っている:16進数のような異なる文字列をどのように生成するのですか?
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";
}
私はこれを実行すると、私は次のような出力が得られます。
0
1
2
3
4
...
z
01
01
21
21
41
41
61
61
81
91
91
b1
b1
d1
d1
私は何をしないのですか?何か助けてくれてありがとう!
何あなたはそれが何を取得しようとしていますか?あなたは何を求めているのですか?基数をどのように変換するか、またはそのperlコードの分析を求めていますか? –
私はBase64に似たものを作成しようとしていますが、この場合は36の基数を使って、@ charsで与えられた文字範囲を使用します。 – tbjers