2013-03-13 3 views
-1

Comment puis-je obtenir la fonctionnalité dans MIME :: Base64 :: decode() comme dans la fonction php base64_decode avec strict paramètre?Perl decode_base64 stricte

+0

Et quel est votre code? –

+0

La [CPAN page] (http://search.cpan.org/~gaas/MIME-Base64-3.13/Base64.pm) contient des exemples qui font exactement cela. –

+0

Mon entrée peut contenir des données corrompues et incompatibles que l'alphabet base64 ne peut pas avoir, j'ai besoin que la fonction retourne booléen faux si c'est le cas. – Aphex

Répondre

1
my $c = '[A-Za-z0-9+/]'; 
my $strict = qr/ 
^
    (?:$c{4})*+ 
    (?:$c(?:==|$c(?:=|$c))=)?+ 
    \z 
/x; 

sub php_base64_decode { 
    return undef if $_[1] && $_[0] !~ $strict; 
    return decode_base64($_[0]); 
} 

Je ne sais pas exactement ce qui ne fonctionne, PHP de base64_decode afin que vous pourriez avoir à modifier le modèle en $strict.

+0

Eh bien, il semble que ce soit la seule méthode, mais je dois ajouter tous les caractères utf8 à motif :( – Aphex

+0

@ Aphex, Cela n'a pas de sens – ikegami

+0

@Aphex voulez-vous dire, il y a des données utf8 encodées en base64? –