2009-01-21 5 views
2

Cet article Wiki sur Base64 URL ditComment supprimer le remplissage de Modifed Base 64 pour l'URL?

« Pour cette raison, un base64 modifié pour existe variante URL, où pas de remplissage « = » sera utilisé et les caractères « + » et «/» de base64 norme sont respectivement remplacés par '-' et '_', de sorte que l'utilisation d'encodeurs/décodeurs d'URL n'est plus nécessaire et n'a aucun impact sur la longueur de la valeur codée, laissant la même forme codée intacte pour une utilisation dans des bases de données relationnelles, et les identifiants d'objet en général. "

Lorsque j'essaie de supprimer le remplissage à l'aide d'ASP.NET, j'obtiens une erreur lorsque je récupère mes chaînes de requête. Comment puis-je rendre compte du remplissage manquant?

Répondre

3
string encoded = GetBase64FromQueryString(); 

encoded = encoded.PadRight(NextMultiple(encoded.Length, 4), '='); 
... 
static int NextMultiple(int value, int multiple) 
{ 
    int r = value % multiple; 
    return value + (r != 0 ? multiple - r : 0); 
} 
Questions connexes