Определить кодировку base64 в PHP? - PullRequest
29 голосов
/ 01 апреля 2010

Есть ли какой-нибудь способ определить, была ли строка base64_encoded () в PHP?

Мы конвертируем некоторое хранилище из простого текста в base64, и часть его хранится в файле cookie, который необходимо обновить. Я хотел бы сбросить их cookie, если текст еще не закодирован, в противном случае оставьте его в покое.

Ответы [ 11 ]

0 голосов
/ 09 ноября 2015

Обычно текст в base64 не имеет пробелов.

Я использовал эту функцию, которая отлично работала для меня. Он проверяет, является ли количество пробелов в строке меньше 1 в 20.

например: по крайней мере 1 пробел на каждые 20 символов --- (пробелы / strlen) <0,05 </p>

function normalizaBase64($data){
    $spaces = substr_count ( $data ," ");
    if (($spaces/strlen($data))<0.05)
    {
        return base64_decode($data);
    }
    return $data;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...