62進数(?)で短縮URL
世の中ほとんどが10進数ですね。
でも、コンピュータの世界では2進数です。
10と表記されていれば、10進数では2です。
2進数のままで表記すると桁数が多くなりすぎるので、16進数で表記します。
10進数の10に相当するものはAと表記します。
16進数の10を10進数に直すと16です。
わかりやすく16進数と10進数を並べてみます。
上が16進数、下が10進数です。
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16進数は数字とアルファベットを使っています。
小文字のアルファベット、大文字のアルファベット、数字の合計は62個あります。
62進数とみなすと、10の表記が10進数では62と考えられますね。
16進数のように62進数を以下の順番に並んでいるとします。
0から9,aからz,AからZ
例えば10進数で10000の場合、
2, 10進数の37に相当する文字, 10進数の18に相当する文字 となります。
桁数が3桁になります。2Bi
例えば10進数で1000000の場合、
4,10進数の12に相当する文字,9,2 となります。
桁数が4桁になります。4c92
桁数が短くなることと、62進数の文字列の並びを変更することによって、
変換の値が予測しにくくなります。
この原理を使って、短縮URLを作ります(現在開発途中)。
使う場合は以下のようになる予定です。
http://mv.utalab.com/?4c92
参考になったサイトはこちらです。
●Converting Numbers To A Character-Set Based Radix Using ColdFusion
http://www.bennadel.com/index.cfm?dax=blog:1540.view
でも、コンピュータの世界では2進数です。
10と表記されていれば、10進数では2です。
2進数のままで表記すると桁数が多くなりすぎるので、16進数で表記します。
10進数の10に相当するものはAと表記します。
16進数の10を10進数に直すと16です。
わかりやすく16進数と10進数を並べてみます。
上が16進数、下が10進数です。
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16進数は数字とアルファベットを使っています。
小文字のアルファベット、大文字のアルファベット、数字の合計は62個あります。
62進数とみなすと、10の表記が10進数では62と考えられますね。
16進数のように62進数を以下の順番に並んでいるとします。
0から9,aからz,AからZ
例えば10進数で10000の場合、
2, 10進数の37に相当する文字, 10進数の18に相当する文字 となります。
桁数が3桁になります。2Bi
例えば10進数で1000000の場合、
4,10進数の12に相当する文字,9,2 となります。
桁数が4桁になります。4c92
桁数が短くなることと、62進数の文字列の並びを変更することによって、
変換の値が予測しにくくなります。
この原理を使って、短縮URLを作ります(現在開発途中)。
使う場合は以下のようになる予定です。
http://mv.utalab.com/?4c92
参考になったサイトはこちらです。
●Converting Numbers To A Character-Set Based Radix Using ColdFusion
http://www.bennadel.com/index.cfm?dax=blog:1540.view