<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                短網址主要功能包括網址縮短與還原兩大功能。相對于長網址,短網址可以更方便地在電子郵件,社交網絡,微博和手機上傳播,例如原來很長的網址通過短網址服務即可生成相應的短網址,避免折行或超出字符限制。 ![](https://img.kancloud.cn/3e/e0/3ee01de6436cdc2a88b9e99992827a1e_1080x582.png) 常用的ID生成服務比如:mysql ID自增、 redis鍵自增、號段模式,生成的ID都是一串數字。短網址服務把客戶的長網址轉換成短網址, 實際是在dwz.cn域名后面拼接新產生的數字類型ID,直接用數字ID,網址長度也有些長,服務可以通過數字ID轉更高進制的方式壓縮長度。這種算法在短網址的技術實現上越來越多了起來,它可以進一步壓縮網址長度。轉進制的壓縮算法在生活中有廣泛的應用場景,舉例: 客戶的長網址:https://www.taobao.com/goods/shopping?code=PCoperatebanner ID映射的短網址:https://dwz.cn/2047601319t66 轉進制后的短網址:https://dwz.cn/2ezwDJ0 長數字轉短字符串的壓縮算法,以下為具體實現: ``` /** * 10進制轉為62進制 * @param integer $n 10進制數值 * @return string 62進制 */ function dec62($n) { $base = 62; $index = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $ret = ''; for($t = floor(log10($n) / log10($base)); $t >= 0; $t --) { $a = floor($n / pow($base, $t)); $ret .= substr($index, $a, 1); $n -= $a \* pow($base, $t); } return $ret; } ``` 字符串同樣支持反解,將高位進制轉為10進制。 ``` /** * 62進制轉為10進制 * @param integer $n 62進制 * @return string 10進制 */ function dec10($s) { $base = 62; $index = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $ret = 0; $len = strlen($s) - 1; for($t = 0; $t <= $len; $t ++) { $ret += strpos($index, substr($s, $t, 1)) * pow($base, $len - $t); } return $ret; } ``` 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 依次表示0-62,大小寫表示不同的進制。10進制的數字采取62進位壓縮的方式轉為字符串,僅需要6位就可以滿足500多億的網址(568 0023 5583),唯一性得到滿足的同時保證長度夠短,在具體實現中也可隨機跳躍生成,防御撞庫攻擊。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看