GVKun编程网logo

Amortization Table base on PHP

1

本文将介绍AmortizationTablebaseonPHP的详细情况,。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于base64编码用于什么?-What

本文将介绍Amortization Table base on PHP的详细情况,。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于base 64 编码用于什么? - What is base 64 encoding used for?、base filtering engine是什么意思?base filtering engine可以禁用吗?、Base 成 Meme 爱好者新宠?从数据看 Base 网络趋势、Base系列编码浅析【base16 base32 base64 base85 base36 base 58 base91 base 92 base62】的知识。

本文目录一览:

Amortization Table base on PHP

Amortization Table base on PHP

amortization table

The Function of Recursive Function

What’s the Recursive Function?

Returning Values from a Function

Often, simply relying on a function to do something is insufficient; a script’s outcome might depend on a function’s outcome, or on changes in data resulting from its execution. Yet variable scoping prevents information from easily being passed from a function body back to its caller, so how can we accomplish this? You can pass data back to the caller by way of the return keyword.

Recursive functions, or functions that call themselves, offer considerable practical value to the programmer and are used to divide an otherwise complex problem into a simple case, reiterating that case until the problem is resolved.

Practically every introductory recursion example involves factorial computation. Yawn. Let’s do something a tad more practical and create a loan payment calculator. Specifically, the following example uses recursion to create a payment schedule, telling you the principal and interest amounts required of each payment installment to repay the loan. The recursive function, amortizationTable(),It takes as input four arguments:

paymentNum, which identifies the payment number, periodicPayment, which carries the total monthly payment, balance, which indicates the remaining loan balance, and monthlyInterest, which determines the monthly interest percentage rate. These items are designated or deter- mined in the script listed below here:

<span><?php </span><span><span>function</span><span>amortizationTable</span><span>(<span>$paymentNum</span>,<span>$periodicPayment</span>,<span>$balance</span>,<span>$monthlyInterest</span>)</span>
    {</span><span>$paymentInterest</span>=round(<span>$balance</span>*<span>$monthlyInterest</span>,<span>2</span>);
        <span>$paymentPrincipal</span>=round(<span>$periodicPayment</span>-<span>$paymentInterest</span>,<span>2</span>);
        <span>$newBalance</span>=round(<span>$balance</span>-<span>$paymentPrincipal</span>,<span>2</span>);
        <span>print</span><span>"  <tr>
<td>$paymentNum</td>
                    <td>\$".number_format(<span>$balance</span>,<span>2</span>).<span>"</span>
</td>
                    <td>\$".number_format(<span>$periodicPayment</span>,<span>2</span>).<span>"</span>
</td>
                    <td>\$".number_format(<span>$paymentInterest</span>,<span>2</span>).<span>"</span>
</td>
                    <td>\$".number_format(<span>$paymentPrincipal</span>,<span>2</span>).<span>"</span>
</td>
                </tr>"</span>;
        <span>#If balance not yet zero ,recursively call amortizationTable()</span><span>if</span>(<span>$newBalance</span>&gt;<span>0</span>)
        {
            <span>$paymentNum</span>++;
            amortizationTable(<span>$paymentNum</span>,<span>$periodicPayment</span>,<span>$newBalance</span>,<span>$monthlyInterest</span>);
        }
        <span>else</span>
        {
            <span>exit</span>;
        }
    }<span>#end amortizationTable()</span><span>?&gt;</span><span><?php </span><span>#load balance</span><span>$balance</span>=<span>200000.0</span>;

    <span>#load interest rate</span><span>$interestRate</span>=<span>.0575</span>;

    <span>#monthly interest rate</span><span>$monthlyInterest</span>=<span>.0575</span>/<span>12</span>;

    <span>#Term length of the load, in years.</span><span>$termLength</span>=<span>30</span>;

    <span>#Number of payments per year.</span><span>$paymentsPerYear</span>=<span>12</span>;

    <span>#payment iteration</span><span>$paymentNumber</span>=<span>1</span>;

    <span>#Perform preliminary calculations</span><span>$totalPayments</span>=<span>$termLength</span>*<span>$paymentsPerYear</span>;
    <span>$intCal</span>=<span>1</span>+<span>$interestRate</span>/<span>$paymentsPerYear</span>;
    <span>$periodicPayment</span>=<span>$balance</span>*pow(<span>$intCal</span>,<span>$totalPayments</span>)*(<span>$intCal</span>-<span>1</span>)/(pow(<span>$intCal</span>,<span>$totalPayments</span>)-<span>1</span>);
    <span>$periodicPayment</span>=round(<span>$periodicPayment</span>,<span>2</span>);

    <span>#create table</span><span>echo</span><span>"<table width="50%" align="center" border="1">";
    <span>print</span><span>"<tr>
<th>Payment Number</th>
<th>Balance</th>
          <th>Payment</th>
<th>Interest</th>
<th>Principal</th>
          </tr>"</span>;
    <span>#call recursive function</span>
    amortizationTable(<span>$paymentNumber</span>,<span>$periodicPayment</span>,<span>$balance</span>,<span>$monthlyInterest</span>);
    <span>#close table</span><span>print</span><span>"</span>
</table>"</span>;</span></span>
登录后复制

While I WAS compiling in PHPSTORM

立即学习“PHP免费学习笔记(深入)”;

Shows sample output, based on monthly payments made on a 30-year fixed loan of $200,000.00 at 6.25 percent interest. For reasons of space conservation, just the first 10 payment iterations are listed.

Here is the result in my Safari Browser

Employing a recursive strategy often results in significant code savings and promotes reusability. Although recursive functions are not always the optimal solution, they are often a welcome addition to any language’s repertoire.

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了Amortization Table base on PHP,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

base 64 编码用于什么? - What is base 64 encoding used for?

base 64 编码用于什么? - What is base 64 encoding used for?

问题:

I''ve heard people talking about "base 64 encoding" here and there. 我听说有人在这里和那里谈论 “base 64 编码”。 What is it used for? 它是干什么用的?


解决方案:

参考一: https://stackoom.com/question/qPf/base - 编码用于什么
参考二: https://oldbug.net/q/qPf/What-is-base-64-encoding-used-for

base filtering engine是什么意思?base filtering engine可以禁用吗?

base filtering engine是什么意思?base filtering engine可以禁用吗?

base filtering engine是什么意思?有用户反映系统的base filtering engine服务在运行一些程序游戏时出现特别占cpu的情况,那可以禁用该服务吗?

其实base filtering engine基本筛选引擎(BFE)是一种管理防火墙和Internet 协议安全(IPsec)策略以及实施用户模式筛选的服务。停止或禁用BFE服务将大大降低系统的安全。还将造成IPsec管理和防火墙应用程序产生不可预知的行为。所以大家如果不担心系统安全的话可以是可以将其禁用的。

方法如下:

1、按下win+r 打开运行,输入 services.msc 点击确定打开服务;

2、在服务界面找到并双击打开Base filtering engine;

3、将Base filtering engine服务的启动类型修改为停用,点击应用 -- 确定 保存设置;

通过上述设置操作之后重启一次win10系统,在下次开机的时候就不会运行Base filtering engine服务了!以上便是小编给大家介绍的关于win10系统 Base filtering engine服务cpu使用率高的解决方法!

Base 成 Meme 爱好者新宠?从数据看 Base 网络趋势

Base 成 Meme 爱好者新宠?从数据看 Base 网络趋势

coinbase 的 layer2 网络 base ,凭借 coinbase 这一行业巨擘上亿用户的强大支撑以及加密 og 的支持,在集成 eip -4884 后大幅降低交易费用后,吸引了市场的广泛关注。与此同时,随着 solana meme 情绪的日益高涨, base 在近几日也备受瞩目,展现出强大的市场潜力和发展前景。

当前 Base 上零点零几美元的 Gas 费用相较坎昆升级前的降低幅度达到 90%,这无疑为用户提供了更为经济高效的交易体验。再加上 Base 与以太坊的兼容性使其能够无缝对接以太坊庞大的基础设施和用户群,可以为 Meme 爱好者创造一个极为理想的炒作环境,这也使得 Base 能够在市场中脱颖而出,备受青睐。更有社区用户认为 Solana 已经接近饱和,故而将资金转向 Base 。本文将从数据角度一窥 Base 网络的用户、 TVL 、交易热度情况和变化趋势。

用户量:本月中旬激增,3 月 16 日单日新用户数量达到 63 万以上

用户数量是衡量一个网络受欢迎和被采用程度的重要指标之一。从用户规模的角度来看,Base网络在上线主网后,凭借Coinbase庞大的用户基础逐渐积累了大量的活跃用户。

根据 Base Scan 数据显示,Base 链上拥有超过 6800 万个独立钱包。另外,根据 DexGuru 发布的 Base 浏览器数据显示,至少有 478 万个地址在 Base 链上发生过一笔交易,而24小时内活跃地址数量接近 20 万。以上数据反映了 Base 链在用户数量和活跃度方面的表现。通过相关图表可以清晰地观察到这些数据的变化趋势。

Base 总用户增长趋势,来源: Dune

特别值得一提的是,本月中旬 Base 网络用户量呈现出激增态势。其中,3 月 16 日单日新用户数量更是达到了 63 万以上。当日 Base 交易笔数更是创下了历史新高,达到 211 万笔。可能的原因是 Solana 生态 Meme 热度外溢, Base 生态多个 Meme 代币大涨, Uniswap NFT 产品负责人 Scott 在当日喊单 Meme 代币 Over ,加之 Base 集成 EIP -4844(3 月 14 日)后手续费大幅下降以及 Base 上短视频社交应用 Drakula 的启动(3 月 14 日上线)等。

Base 新用户,来源: Dune

Base 活跃用户也在本月呈现了非常明显的增长。

Base 新用户,来源: Dune

总 TVL :若按 ETH 本位计算,过去 10 天 Base 生态总 TVL 增加 50%

在总锁仓量方面,根据 L2 BEAT 数据显示,当前, Base 生态总 TVL (包括所有跨链代币、原生代币的价值)目前为 14 亿美元,在所有 L2 中排名第五,排名前四的 L2 是 Arbitrum (156.9 亿美元)、 OP Mainnet (73.4 亿美元)、 Blast (22.7 亿美元)、 Manta Pacific (18.2 亿美元)。

下面两张图分别是按美元和 ETH 本位计算的 Base 生态总 TVL ,可以看出, Base TVL 从去年 6 月份上线主网后到 9 月份一直在快速增加,之后一直到本月上旬按 ETH 本位计算并未有比较明显的提升,而从本月中上旬开始, TVL 从 29.1 万 ETH 激增至当前的 43.4 万 ETH ,过去 10 天 ETH 本位计算的的 TVL 增幅达到 50% 以上,同期以美元计算的 TVL 增加 22%。

按美元计算的 Base 生态总 TVL 变化趋势,来源: L2BEAT

按 ETH 本位计算的 Base 生态总 TVL 变化趋势,来源: L2BEAT

而在过去 7 日,按 TVL 排列的前 10 大 L2 中,按美元计算只有 Base 录得 TVL 净增长,增幅为 5.56%,其余均为负增长,除 Arbitrum (-5.27%)、 dYdX v3 (-4.15%)之外,其他 L2 的 TVL 7 日跌幅均在 20% 到 30% 之间。同期以太坊的跌幅达到 20%,从中可以看出 Base 在近几日的热度之高涨。

其实在年初到 2 月中旬, Base 上的资产整体还处于净流出状态,2 月下旬开始跨链净流入资产才逐步增多。

Base 上资产跨链流入流出情况,来源: Dune

根据来自 DefiLlama 的数据, Base 生态 DeFi TVL 目前为 6.8 亿美元,和如上按美元计算的总 TVL 呈现大致相同的趋势。

Base 生态 DeFi TVL 变化趋势,来源: DefiLlama

交易笔数:最近一周单日超过 110 万笔

从交易笔数来看, Base 网络的表现同样亮眼,交易热度已基本升至去年 9 月份时的巅峰状态。3 月 16 日, Base 上日交易笔数更是创下了历史新高,达到 211 万笔,最近一周的单日交易笔数也均超过 110 万笔。

Base 日交易笔数变化趋势,来源: Dune

成交热度:24 小时成交 4.43 亿美元,热度集中在 Meme 代币和 DEGEN 上

随着资金流入到 Base 生态, Base 上的成交额也在不断急剧增加。根据 DEX Screener 数据,过去 24 小时的交易量达到 4.43 亿美元,热度集中在 Meme 代币以及 Farcaster 生态代币 DEGEN 上。

按成交量排列的 Base 生态热门代币,来源: DEX Screener

综上所述,从数据角度来看, Base 网络在用户规模、交易量和活跃度、 TVL 等方面均在保持稳步增长,并在近半月呈陡峭的上升曲线增长态势。至于 Base 在 DeFi 方面的网络进展,虽然目前可能显得中规中矩,但这并不意味着没有发展的潜力或机会。 Base 能否靠 Meme 热度为整个网络带来新的机遇和继续保持强劲的增长势头,我们拭目以待。

以上就是Base 成 Meme 爱好者新宠?从数据看 Base 网络趋势的详细内容,更多请关注php中文网其它相关文章!

Base系列编码浅析【base16 base32 base64 base85 base36 base 58 base91 base 92 base62】

Base系列编码浅析【base16 base32 base64 base85 base36 base 58 base91 base 92 base62】

Base系列编码浅析

 
 
Base编码有很多种,常用的有:
            base16   base32   base64   base85  base36  base 58  base91  base 92   base62
 

 

Base16

  •   使用16个ASCII可打印字符(数字0-9和字母A-F),对任意字节数据进行编码。
  •      先获取输入字符串每个字节的二进制值(不足8比特在高位补0),然后将其串联进来,再按照4比特一组进行切分,将每组二进制数分别转换成十进制。
  •   Base16编码后的数据量是原数据的两倍:1000比特数据需要250个字符(即 250*8=2000 比特)。
 
                                    
 
:可以看到8比特数据按照4比特切分刚好是两组,所以Base16不可能用到填充符号“=”。
  换句话说:Base16使用两个ASCII字符去编码原数据中的一个字节数据。
  Base16编码是一个标准的十六进制字符串(注意是字符串而不是数值),更易被人类和计算机使用,因为它并不包含任何控制字符,以及Base64和Base32中的“=”符号。
 
 

 
 

Base32

 
  •    Base32编码是使用32个可打印字符(字母A-Z和数字2-7)对任意字节数据进行编码的方案,编码后的字符串不用区分大小写并排除了容易混淆的字符,可以方便地由人类使用并由计算机处理。
  •    Base32主要用于编码二进制数据,但是Base32也能够编码诸如ASCII之类的二进制文本。
  •    Base32将任意字符串按照字节进行切分,并将每个字节对应的二进制值(不足8比特高位补0)串联起来,按照5比特一组进行切分,并将每组二进制值转换成十进制来对应32个可打印字符中的一个。
 
 
 
 
 
  由于数据的二进制传输是按照8比特一组进行(即一个字节),因此Base32按5比特切分的二进制数据必须是40比特的倍数(5和8的最小公倍数)。
 
  例如输入单字节字符“%”,它对应的二进制值是“100101”,前面补两个0变成“00100101”(二进制值不足8比特的都要在高位加0直到8比特),从左侧开始按照5比特切分成两组:“00100”和“101”,后一组不足5比特,则在末尾填充0直到5比特,变成“00100”和“10100”,这两组二进制数分别转换成十进制数,通过上述表格即可找到其对应的可打印字符“E”和“U”,但是这里只用到两组共10比特,还差30比特达到40比特,按照5比特一组还需6组,则在末尾填充6个“=”。填充“=”符号的作用是方便一些程序的标准化运行,大多数情况下不添加也无关紧要,而且,在URL中使用时必须去掉“=”符号。
 

 

Base64

  •     Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于,所以每6个比特为一个单元,对应某个可打印字符。3个字节有24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。
  •    在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。一些如uuencode的其他编码方法。
  •    它可用来作为电子邮件的传输编码。
  •     Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据,包括MIME的电子邮件及XML的一些复杂数据。
 
 
 
   注:BinHex的版本使用不同的64字符集来代表6个二进制数字,但是不被称为Base64。
 
 
 
  如果要编码的字节数不能被3整除,最后会多出1个或2个字节,那么可以使用下面的方法进行处理:
 
    (1)先使用0字节值在末尾补足,使其能够被3整除,然后再进行Base64的编码。
       (2)在编码后的Base64文本后加上一个或两个=号,代表补足的字节数。
 
  也就是说:
    当最后剩余两个八位(待补足)字节(2个byte)时,最后一个6位的Base64字节块有四位是0值,最后附加上两个等号;
    如果最后剩余一个八位(待补足)字节(1个byte)时,最后一个6位的base字节块有两位是0值,最后附加一个等号。 
 
参考下表:
 
 
 
 

 
 
 

Base85

  •         base85 也称为Ascii85,是Paul E. Rutter为btoa实用程序开发的一种二进制文本编码形式。通过使用五个ASCII字符来表示四个字节的二进制数据(使编码量1 / 4比原来大,假设每ASCII字符8个比特),它比更有效UUENCODE或Base64的,它使用四个字符来表示三个字节的数据(1 / 3的增加,假设每ASCII字符8个比特)。
  •         用途是Adobe的PostScript和Portable Document Format文件格式,以及Git使用的二进制文件的补丁编码。
  •         与Base64一样,Base85编码的目标是对二进制数据可打印的ASCII字符进行编码。但是它使用了更大的字符集,因此效率更高一些。具体来说,它可以用5个字符编码4个字节(32位)。
 
摘自wiki介绍的一个例子:
 
 
 

 
 
 

Base36

 
 
Base36是一个二进制到文本编码表示方案的二进制数据以ASCII通过将其转化为一个字符串格式基数 -36表示。选择36十分方便,因为可以使用阿拉伯数字 0–9和拉丁字母 A–Z [1](ISO基本拉丁字母)表示数字。
每个base36位需要少于6位的信息来表示。
 
摘自wiki的一个例子:
 
有符号的32位和64位整数分别最多只能容纳6个或13个base-36位数字(许多base-36位数字可能会使32位和64位整数溢出)。
 
例如,在base-36中,“ 922337203685477575807 ” 的64位带符号整数最大值为“ 1Y2P0IJ32E8E7 ”。
类似地,在base-36中,“ 2147483647 ” 的32位带符号整数最大值为“ ZIK0ZJ ”。
 
(这里没看太懂是怎么转换的,请大佬指教~)
 
用于从BASE10编码BASE36的Python代码
 
def base36encode(integer): 
    chars = ''0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'' 
    
     sign = ''-'' if integer < 0 else '''' 
     integer = abs(integer) 
     result = '''' 
 
     while integer > 0: 
         integer, remainder = divmod(integer, 36) 
         result = chars[remainder]+result
 
      return sign+result

 

 
 
 

 

Base58

 
  •         Base58是用于Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。
  •         相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+"和"/"符号
  
  设计Base58主要的目的是:
  1. 避免混淆。在某些字体下,数字0和字母大写O,以及字母大写I和字母小写l会非常相似。
  2. 不使用"+"和"/"的原因是非字母或数字的字符串作为帐号较难被接受。
  3. 没有标点符号,通常不会被从中间分行。
  4. 大部分的软件支持双击选择整个字符串。
 
 
 
 

 
 
 

Base91

 
  顾名思义,basE91需要91个字符来表示ASCII编码的二进制数据。 从94个可打印ASCII字符(0x21-0x7E)中,以下三个字符被省略以构建basE91字母:
 
    -(破折号,0x2D)
    \(反斜杠,0x5C)
    ''(撇号,0x27)
  •     basE91是将二进制数据编码为ASCII字符的高级方法。 
  •     它类似于UUencode或base64,但效率更高。 basE91产生的开销取决于输入数据。 它的数量最多为23%(而base64为33%),范围可以降低到14%,通常发生在0字节块上。 
  •     这使得basE91对于通过二进制不安全连接(例如电子邮件或终端线)传输较大的文件非常有用。
 
 
 
转换表由其余字符组成,如下所示。
 
 

 
 

Base92

 
 
  有关Base92的资料实在是很少,但是笔者找到了这一篇博客:
 
    https://thenoviceoof.com/blog/projects/base92/
 
以下介绍均摘自这篇博客

 

  “  如果您对将二进制信息从一个地方转移到另一地方一无所知,那么就知道将数据从一个地方转移到另一地方 可能很危险。就是说,这对您的数据有害:也许您需要在仅用于ASCII文本的通道上传输Blob ,并且所有''\n''以C样式字符串表示的字节都会突然有一个同级符号''\r''。或者,您的传输层实际上真的真的是以null终止的字符串,并且您恰好在字节边界上连续有8个连续的0位,即使它位于blob中一个32位整数的中间,并且你结束了只有一半您的数据。
 
  解决此问题的一种方法是使用base64,它使用所有数字和大写/小写字母字符对数据进行编码(再加上两个,但现在我们将忽略它们)。现在,您在传输层上尝试解释您的字节时没有任何问题,因为每个人都可以很好地处理字母数字字符,如果没有,您可能不想使用它们。
当然,使用base64了一段时间后,您可能会注意到,虽然您不会因为一位反复无常的上帝以为他在提供帮助,却没有按照自己的意愿对数据进行更改,但您却通过使用放弃了效率base64。对于二进制blob中的每3个字节,如果需要传输字母数字字符,则有4个字节,因此您要以33%的容量税来支付数据保护费用:如果暴徒可以在保护球拍中掠走33%,相信他们会的。
  看一下base64,您可能会注意到,除了可以使用的64个字符外,还有更多可显示的ASCII字符,base64可以在编码中使用这些字符以提高传输密度。这样就base85诞生了,使用了……您猜对了,有85个字符!这次,将4字节的二进制数据编码为5个ASCII字符,这将导致20%的传输大小开销。但你能做什么呢?好像没有更多可显示的ASCII了……哦,等等。
 
  所以似乎没有人试图超越明显的下一步base85,所以我决定尝试自己做base92。
 
  在键入编码的字符串时,`和“与普通引号''太相似,以使其舒适。希望在区分l / 1和0 / O时使用的字体好。但是,我们将〜用作特殊符号(空字符串)。有94个可打印的ascii字符,因此我们最终得到91个字符,或每个字符6.5位。一旦包含〜,则将有92个字符:因此,为base92。(老实说,base91的名字太丑陋了,无法处理)
  一旦每个字符有6.5位,则可以一次使用13位,并使用类似于base85的除法和取模方案,用它们产生两个输出字符。这可能意味着,与base92编码相比,它更能抵抗损坏,因为任何损坏都更加局限(一位更改仅影响2-3个字节,而不影响4个字节)。
 
 
注意:在某些需要某些输出的情况下,可能需要将〜用作空字符串分号:但是,传递空字符串进行解码不会导致它变成barf,因此不要求使用〜。
旁注:以前base92产生的输出的长度与输入的长度非单调增长。这已不再是这种情况。
另一个旁注:base64和base85更加优雅,将一个较小的字节整数干净地映射到另一个较小的字节整数。base92将13个字节映射为16个字符,从大小的角度来看,这比base85的4至5个字符更好,但是相当不雅观。我们还遵循使用高除数乘积作为第一个字节的base85约定。”
 
 
 
以上是笔者用谷歌翻译直接搬运的,如有描述不懂的小伙伴,请参照原文链接进行参考~
 

 
 

Base62

 
 
  • Base62编码将数字转换为ASCII字符串(0-9,az和AZ),反之亦然,这通常会导致字符串较短。
               26个小写字母+26个大写字母+10个数字=62
 
 
(1)62进制与10进制的互相转化
 
  •   62进制转10进制与2进制转10进制相似。
        2进制转10进制过程为: 从右到左用二进制的每个数去乘以2的相应次方,次方要从0开始。
        62进制转10进制也类似,从右往左每个数*62的N次方,N从0开始。
 
 
 
  那么,10进制转62进制也与10进制转2进制类似。  即:不断除以62取余数,然后倒序。
 
 
(2)关于短Url的转换
 
    主要思路,维护一个全局自增的id,每来一个长url,将其与一个自增id绑定,然后利用base62将该自增id转换为base62字符串,即完成转换。

 
 
 
 
 以上就是对Base系列编码的浅析,部分知识是笔者从wiki上搬运过来的,也参考了很多博客文章和资料。如有错误及不足之处,请大佬们多提建议~
 
 
 
 
 
 
参考资料:
 
 
https://en.wikipedia.org/wiki
 
https://blog.csdn.net/n0nameforn0w/article/details/87124053
 
https://thenoviceoof.com/blog/projects/base92/
 
https://segmentfault.com/a/1190000010516708
 
 
 
 
 
 

关于Amortization Table base on PHP的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于base 64 编码用于什么? - What is base 64 encoding used for?、base filtering engine是什么意思?base filtering engine可以禁用吗?、Base 成 Meme 爱好者新宠?从数据看 Base 网络趋势、Base系列编码浅析【base16 base32 base64 base85 base36 base 58 base91 base 92 base62】等相关知识的信息别忘了在本站进行查找喔。

本文标签: