有一个字符串,包含字符[a-zA-Z0-9].这应该是26 * 2 10 = 62个可能在一个字符和62 ^ 2两个.增加这样一个字符串的值的首选方法是什么,以便’aA’变为’aB’等?
PHP中是否有任何内置的东西,这可以帮助吗?
我知道你可以增加一个字符串,但这只是小写字母.基本上,结果应该以61个增量从“a”变为“aa”.
@simshaun不适合我.我检查了文档,我发现
base_convert可以为你工作(基础35)和评论“francesco [at] paladinux.net”,其功能可以在base65上运行.
所以解决方案可以是:
转换为b10 – >增量1 – >转换基数65
编辑1
谈论转换我认为是base64编码所以我用base64编码/解码数字写了这2个函数.
不幸的是,使用的字符集有点大:[a-zA-Z0-9 / =],但使用内部函数更有效.
零
0是“AA ==”
function nencode($in){ $res =""; while(1){ $b = $in & 0xff; $res = chr($b) . $res; if($in > 0xff){ $in = $in >> 8; } else { break; } } return base64_encode($res); } function ndecode($in){ $rv=0; $res =base64_decode($in); for($t = 0 ; $t < strlen($res) ; $t++){ if($t>0){ $rv = $rv << 8; } $c = ord($res{$t}); $rv |= $c; } return $rv; }