我已经学会了如何在 PHP 中对字符串进行 Base16 编码,但是如何在 PHP 中对字符串进行 Base36 编码和解码?
注意我需要这个来使字符串在 URL 中工作。
奖励:如果你知道如何在做 Base36 之前先稍微压缩字符串,那就更酷了!:)
无论如何,如果您想在 URL 中使用base64 ,它应该满足您的需求。
奖励:gzcompress()和gzuncompress() ;)(必须安装 Zlib 扩展)。
我很久以前写过这篇文章,但我认为它从那时起就没有改变;)
function number2ascii($input='', $base=10){
$length = strlen($input);
$dec = base_convert(255, 10, $base);
$chars = strlen($dec);
$output = '';
for($i=0; $i<$length; $i+=$chars){
$text = substr($input, $i, $chars);
$dec = base_convert($text, $base, 10);
$output .= chr($dec);
}
return $output;
}
function ascii2number($input='', $base=10){
$length = strlen($input);
$dec = base_convert(255, 10, $base);
$chars = strlen($dec);
$output = '';
for($i=0; $i<$length; $i++){
$dec = ord($input[$i]);
$number = base_convert($dec, 10, $base);
$number = str_pad($number, $chars, 0, STR_PAD_LEFT);
$output .= $number.' ';
}
return $output;
}