taoCMS是基于php+sqlite/mysql的国内最小(100Kb左右)的功能完善、开源免费的CMS管理系统

10进制和64进制相互转换 php版

2012-03-21
使用:表示10以及使用;表示11的原因是根据ascii的排列来选择的,这样要对64进制比较大小,直接比较就可以了。。。 

Php代码  收藏代码
  1. <?php  
  2.   
  3. function dec2s4($dec) {  
  4.     $base = '0123456789:;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';  
  5.     $result = '';  
  6.   
  7.     do {  
  8.         $result = $base[$dec % 64] . $result;  
  9.         $dec = intval($dec / 64);  
  10.     } while ($dec != 0);  
  11.   
  12.     return $result;  
  13. }  
  14.   
  15. function  s42dec($sixty_four) {  
  16.     $base_map = array (  
  17.     '0' => 0,  
  18.     '1' => 1,  
  19.     '2' => 2,  
  20.     '3' => 3,  
  21.     '4' => 4,  
  22.     '5' => 5,  
  23.     '6' => 6,  
  24.     '7' => 7,  
  25.     '8' => 8,  
  26.     '9' => 9,  
  27.     ':' => 10,  
  28.     ';' => 11,  
  29.     'a' => 12,  
  30.     'b' => 13,  
  31.     'c' => 14,  
  32.     'd' => 15,  
  33.     'e' => 16,  
  34.     'f' => 17,  
  35.     'g' => 18,  
  36.     'h' => 19,  
  37.     'i' => 20,  
  38.     'j' => 21,  
  39.     'k' => 22,  
  40.     'l' => 23,  
  41.     'm' => 24,  
  42.     'n' => 25,  
  43.     'o' => 26,  
  44.     'p' => 27,  
  45.     'q' => 28,  
  46.     'r' => 29,  
  47.     's' => 30,  
  48.     't' => 31,  
  49.     'u' => 32,  
  50.     'v' => 33,  
  51.     'w' => 34,  
  52.     'x' => 35,  
  53.     'y' => 36,  
  54.     'z' => 37,  
  55.     'A' => 38,  
  56.     'B' => 39,  
  57.     'C' => 40,  
  58.     'D' => 41,  
  59.     'E' => 42,  
  60.     'F' => 43,  
  61.     'G' => 44,  
  62.     'H' => 45,  
  63.     'I' => 46,  
  64.     'J' => 47,  
  65.     'K' => 48,  
  66.     'L' => 49,  
  67.     'M' => 50,  
  68.     'N' => 51,  
  69.     'O' => 52,  
  70.     'P' => 53,  
  71.     'Q' => 54,  
  72.     'R' => 55,  
  73.     'S' => 56,  
  74.     'T' => 57,  
  75.     'U' => 58,  
  76.     'V' => 59,  
  77.     'W' => 60,  
  78.     'X' => 61,  
  79.     'Y' => 62,  
  80.     'Z' => 63,  
  81.     );  
  82.     $result = 0;  
  83.     $len = strlen($sixty_four);  
  84.   
  85.     for ($n = 0; $n < $len$n++) {  
  86.         $result *= 64;  
  87.         $result += $base_map[$sixty_four{$n}];  
  88.     }  
  89.   
  90.     return $result;  
  91. }  
  92.   
  93. echo s42dec(dec2s4(0));  
  94. echo s42dec(dec2s4(10));  
  95. echo s42dec(dec2s4(63));  
  96. echo s42dec(dec2s4(64));  
  97. echo s42dec(dec2s4(111));  

类别:技术文章 | 阅读:204521 | 评论:0 | 标签:php 进制转换

想收藏或者和大家分享这篇好文章→

“10进制和64进制相互转换 php版”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

taoCMS发布taoCMS 3.0.2(最后更新21年03月15日),请大家速速升级,欢迎大家试用和提出您宝贵的意见建议。

捐助与联系

☟请使用新浪微博联系我☟

☟在github上follow我☟

标签云