У меня есть некоторые проблемы с кодировкой base64
и декодированием, я хотел бы декодировать мою строку с php, я нашел решение, но он не работает хорошо. Мое ожидание я бы хотел декодировать только строку, которая была кодирована и другая строка, которая не закодирована должен оставаться нормальным.
Вот строка:
$string = "I need your help 4Z6B4Z+S4Z6b4Z624Z+G4Z6E4oCL4Z6O4Z624Z6f4Z+L4oCL";
Вот что я пробовал:
echo base64_decode($string);
Результат:
SSBuZWVkIHlvdXIgaGVscA = ខ្លាំងណាស់
Результат выше не то, что мне нужно, ниже - то, что мне нужно:
I need your help ខ្លាំងណាស់
Итак, кто-нибудь может сказать мне, как это сделать с php.
Это должно сработать для вас:
<?php
$str = "I need your help 4Z6B4Z+S4Z6b4Z624Z+G4Z6E4oCL4Z6O4Z624Z6f4Z+L4oCL";
for($count = 0; $count < strlen($str); $count++) {
$temp = substr($str, $count, strlen($str));
if ( base64_encode(base64_decode($temp, true)) === $temp) {
echo substr($str, 0, $count) . base64_decode($str);
break;
}
}
?>
base64_decode
ожидает строку в кодировке base64. Сначала необходимо отделить части base64 от других текстовых частей, выполнитьbase64_decode
нихbase64_decode
, а затем объединить их обратно в одну строку."ROFL"
. Его можно интерпретировать как обычный текст или строку в кодировке base64 (которая декодируется в 3-байтовую строку).