如何在 PHP 中编码不带斜线的 base_64?
How to encode base_64 without slash in PHP?
原始字符串:
$string = "Home/Gallery/Images/Mountains";
然后我把这个字符串编码成base64_encode():
echo base64_encode($string);
输出:
SG9tZS9HYWxsZXJ5L0ltYWdlcy9Nb3VudGFpbnM=
但是我想显示这个输出:
SG9tZS9H/YWxsZXJ5L0lt/YWdlcy9Nb3V/udGFpbnM=
↑
看看斜线
意味着我不想 base64_encode() 从不编码斜杠“/”并以原始形式显示斜杠,但其他字符串总是转换为 base64_encode()
这里有人可以回答我,请告诉我如何解码?
(抱歉英语不好)
您可以拆分它并使用单个部分进行编码。您不能排除任何字符。
Note, you will gain some extra padding bytes!
$string = "Home/Gallery/Images/Mountains";
echo join('/', array_map(fn($v) => base64_encode($v), explode('/', $string)));
SG9tZQ==/R2FsbGVyeQ==/SW1hZ2Vz/TW91bnRhaW5z
原始字符串:
$string = "Home/Gallery/Images/Mountains";
然后我把这个字符串编码成base64_encode():
echo base64_encode($string);
输出:
SG9tZS9HYWxsZXJ5L0ltYWdlcy9Nb3VudGFpbnM=
但是我想显示这个输出:
SG9tZS9H/YWxsZXJ5L0lt/YWdlcy9Nb3V/udGFpbnM=
↑
看看斜线
意味着我不想 base64_encode() 从不编码斜杠“/”并以原始形式显示斜杠,但其他字符串总是转换为 base64_encode()
这里有人可以回答我,请告诉我如何解码?
(抱歉英语不好)
您可以拆分它并使用单个部分进行编码。您不能排除任何字符。
Note, you will gain some extra padding bytes!
$string = "Home/Gallery/Images/Mountains";
echo join('/', array_map(fn($v) => base64_encode($v), explode('/', $string)));
SG9tZQ==/R2FsbGVyeQ==/SW1hZ2Vz/TW91bnRhaW5z