2010-06-01 2 views
1

nous avons app silverlight ce poste des données vers une autre application Web, les données à envoyer est converti en base 64 en utilisant le codelongueur Error-valide pour une base 64 tableau de caractères

byte[] byteArray = Encoding.UTF8.GetBytes(sDataToPost); 
sDataToPost = Convert.ToBase64String(byteArray); 

autre webapplication obtenir le données à l'aide du code

strText = System.Text.Encoding.ASCII.GetString(System.Convert.FromBase64String(postedData)); 

Mais il donne à l'exception longueur non valide pour une base 64 tableau de caractères

Merci à l'avance DNM

+0

est-il codé ce qui en fait en quelque sorte une chaîne base64 invalide? – Michel

+0

Bienvenue dans SO, veuillez prendre quelques minutes pour lire la FAQ et la documentation Markdown (un synoptique utile est disponible dans la marge de droite lors de la modification d'une question). – AnthonyWJones

+0

Veuillez montrer le code que vous utilisez pour publier et aussi le code côté serveur qui remplit la variable 'postedData'. Comme @Michel souligne qu'il est possible que d'autres codages se produisent. Aussi pourquoi décodez-vous avec "ASCII" et pas "UTF-8"? – AnthonyWJones

Répondre

1

En fonction de la manière dont vous publiez les données, il est tout à fait possible que la chaîne Base64 soit un peu plus sollicitée. Par exemple, les encodeurs d'URL peuvent faire des choses étranges avec les symboles + et = dans la chaîne Base64.

Questions connexes