2010-08-17 15 views
6

Bir dizenin base64_encode() işleviyle kodlanmış bir veri olup olmadığını nasıl bulabilirim?Dize tabanı 64 kodlanmış mı?

Mümkün mü?

+1

Çok daha iyi olurdu Eğer hiç böyle bir algılama gerek olmazdı eğer. Birçok deneyimli programcı onsuz yaşayabilir ve yapabileceğinizden eminim. –

+1

Ayrıca bkz. Http://stackoverflow.com/questions/475074 – Gumbo

+0

@Gumbo: [php5] etiketini eklemedim - düzenlemem sizinkinden daha uzun sürdü. Onu şimdi kaldırdım. – BoltClock

cevap

17

Kesinlikle Base64 alfabesine karşı şifresini çözmeye çalışın. İkinci parametre, bu sıkı kontrolü zorlamanıza izin verir; dışarı bırakarak, kod çözme işlevi basitçe kod çözme önce yasadışı karakterleri çıkarır:

if (base64_decode($str, true) === false) 
{ 
    echo 'Not a Base64-encoded string'; 
} 
1

bu deneyin:

if(base64_encode(base64_decode($img, true)) === $img) 
    echo 'is a Base64-encoded string' ; 
İlgili konular