Comment puis-je encoder et de décoder une chaîne base64?

  1. Comment puis-je retourner une chaîne encodée en base64 donné une chaîne de caractères?

  2. Comment puis-je décode une chaîne encodée en base64 dans une chaîne de caractères?

  • Si c'est un "partage de la connaissance" question et réponse, je pense que nous sommes à la recherche de quelque chose d'un peu plus en profondeur. Aussi une recherche rapide de virages jusqu': stackoverflow.com/a/7368168/419
  • Toute chaîne de caractère est codé par un certain sous-jacent bits-schéma d'encodage. Soit ASCII, UTF7, UTF8 .... La question posée est, au mieux, incomplète.
  • Demandez-vous avez-vous vraiment besoin de faire cela? Rappelez-vous base64 est principalement conçu pour la représentation binaire des données en ASCII, pour le stockage dans un champ char dans une base de données ou l'envoi par e-mail (où de nouvelles lignes pourrait être injecté). Voulez-vous vraiment prendre les données de caractères, de les convertir en octets, puis de le convertir en arrière à des données de caractère, cette fois illisible et sans préjuger de ce que le codage d'origine a été ?
  • Pourquoi devrions-nous nous préoccuper de l'origine de l'encodage? On encode la chaîne dans les octets à l'aide de l'UTF8 représentation, ce qui peut représenter tous les caractères de la chaîne. Nous avons ensuite sérialiser des données et à l'autre extrémité, nous désérialiser des données et de nous reconstruire la même chaîne que nous avions à l'origine (objet de type string n'a pas les informations sur l'encodage utilisé de toute façon). Alors, pourquoi est-il tout problème lié à l'encodage utilisé? Nous pouvons le considérer comme un propriétaire manière de représenter les données sérialisées, qui ne devrait pas nous être intéressés de toute façon.