62進数のつづき | 30歳から始めたプログラミング

62進数のつづき



まず、なぜ62進数を実現しなければならなかったのか?
それはURL短縮ツールを作ったことに関係があります。



URL短縮ツールは長いURLをツイッターやなうなどの文字数制限
があるコミュニティサイトで使いやすくするために短くするための
サービスです。


私もそれを作ったのですが
初期のバージョンでは


http://ドメイン名/数字


というような表示をしていました。



数字でも良いのですが、より大きな数字を
少ない表現で表すためにはどうしたらよいのかを
考えた結果16進数が思い浮かびました。


16進数は10から16までの数字をアルファベットを使って一文字
で表しています。



それを62まで拡張できないものだろうかと考えました。
なぜ62なのかというと、数字の0~9と英小文字のa~z
英大文字のA~Zを合わせると62こあるからです。


要するに0~61までの計62の数字を一文字で表したかったのです。
なぜならばそうすることによってよりURLを短く表現できるからです。



その結果各数字に文字列を割り当てることによって62進数を
実現することができました。




以下にそのコードをジャバスクリプトによって
記述したので興味がある方は御覧ください。


また、そのままコピーアンドペーストすることによって
動作確認もできますのでお試しくださいニコニコ




<script type="text/javascript">

<!--

sinsu=new Array(62);
sixtytwo=new Array();

jussinsu=prompt("お好きな数字を入力してください",0);
if(jussinsu){ to_sixtytwo(jussinsu); }

function to_sixtytwo(jussinsu){

while(jussinsu!=0){

amari=jussinsu%62;
jussinsu=Math.floor(jussinsu/62);
henkan(amari);

}

result=sixtytwo.join("");
document.write(result);

}

function henkan(amari){

sinsu[0]="0";
sinsu[1]="1";
sinsu[2]="2";
sinsu[3]="3";
sinsu[4]="4";
sinsu[5]="5";
sinsu[6]="6";
sinsu[7]="7";
sinsu[8]="8";
sinsu[9]="9";
sinsu[10]="a";
sinsu[11]="b";
sinsu[12]="c";
sinsu[13]="d";
sinsu[14]="e";
sinsu[15]="f";
sinsu[16]="g";
sinsu[17]="h";
sinsu[18]="i";
sinsu[19]="j";
sinsu[20]="k";
sinsu[21]="l";
sinsu[22]="m";
sinsu[23]="n";
sinsu[24]="o";
sinsu[25]="p";
sinsu[26]="q";
sinsu[27]="r";
sinsu[28]="s";
sinsu[29]="t";
sinsu[30]="u";
sinsu[31]="v";
sinsu[32]="w";
sinsu[33]="x";
sinsu[34]="y";
sinsu[35]="z";
sinsu[36]="A";
sinsu[37]="B";
sinsu[38]="C";
sinsu[39]="D";
sinsu[40]="E";
sinsu[41]="F";
sinsu[42]="G";
sinsu[43]="H";
sinsu[44]="I";
sinsu[45]="J";
sinsu[46]="K";
sinsu[47]="L";
sinsu[48]="M";
sinsu[49]="N";
sinsu[50]="O";
sinsu[51]="P";
sinsu[52]="Q";
sinsu[53]="L";
sinsu[54]="S";
sinsu[55]="T";
sinsu[56]="U";
sinsu[57]="V";
sinsu[58]="W";
sinsu[59]="X";
sinsu[60]="Y";
sinsu[61]="Z";

sixtytwo.unshift(sinsu[amari]);

}

// -->

</script>










━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━



↓で、その技術を応用したのがこれ


http://akb.cx/




━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━


↓iPadやiPhoneにも対応の携帯用匿名掲示板おもしろトピックをつくろう!


$30歳から始めるWEBプログラミング

トピッキング

人気ブログランキング