PHP で文字列を Base16 でエンコードする方法を学びましたが、PHP で文字列を Base36 でエンコードおよびデコードするにはどうすればよいですか?
文字列を URL で機能させるには、これが必要であることに注意してください。
おまけ: そして、Base36 を実行する前に、最初に文字列を少し圧縮する方法を知っていれば、さらにクールになります! :)
Googleはこれを教えてくれました:http://darklaunch.com/2009/07/31/base36-encode-and-decode-using-php-with-example-base36-encode-base36-decode
いずれにせよ、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;
}