Écrire du XML dans le codage Base64
Suite à mes questions sur le stockage des données, il a été suggéré que je pourrais utiliser XML, mais obscurcir le fichier en codage à l'aide de Base64. J'aime cette idée, et j'ai obtenu ce que je veux dans le fichier XML, mais je ne sais pas comment l'enregistrer en Base64. C'est mon code pour l'instant:
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
XmlWriter write = XmlWriter.Create("C:\\Users\\Andy\\Desktop\\database.xml", settings);
write.WriteStartDocument();
write.WriteStartElement("Database");
write.WriteStartElement("Entry");
write.WriteAttributeString("key", "value");
write.WriteEndElement();
write.WriteEndElement();
write.Flush();
write.Close();
OriginalL'auteur Andy | 2013-07-24
Vous devez vous connecter pour publier un commentaire.
L'écrire:
Lire:
ops, Fait!
S'il vous plaît ne pas utiliser
ASCIIEncoding
. Vous devez utiliserUTF8Encoding
.Vous POUVEZ inclure des caractères non-ASCII dans le fichier XML, indépendamment de savoir si vous utilisez un format ASCII ou UTF-8 lors de la rédaction de la chaîne base64. Comme il a été souligné, en base64 encode les données binaires en utilisant uniquement des caractères ASCII--c'est l'ensemble de point. Quand il est décodé, vous recevez en retour les données binaires d'origine.
La Compression et/ou la non-trivial de chiffrement (rien au-delà d'un simple mécanisme de chiffrement par substitution) sera plus lent que le codage base64. le codage base64 est très simple transformation. Il faudra plus de temps pour écrire la chaîne codée sur le disque qu'il n'en faut pour encoder la chaîne.
OriginalL'auteur giammin
Vous avez besoin de convertir votre xmlwriter à la chaîne comme celle-ci
puis convertir votre chaîne Base64. et écrire dans un fichier
+1. Vous devez ajouter le code qui montre comment convertir le chaîne retournée en base64 et écrire dans un fichier.
Oui, merci de le faire 🙂
avez-vous fait ceci? J'étais loin.
Ouais j'ai maintenant, je vous remercie. C'est ok, je vous remercie pour votre aide.
OriginalL'auteur Ehsan
Cela permettra d'avoir les informations que vous cherchez:
http://msdn.microsoft.com/en-us/library/system.xml.xmlwriter.writebase64.aspx
HTH,
d3
C'est seulement bon pour l'écriture spécifique de données binaires. Qui ne sont pas en base64 encode l'ensemble du fichier XML.
OriginalL'auteur d347hm4n
Voici un exemple en utilisant un
MemoryStream
Enregistrer les données XML à l'aide de MemoryStream base64 encode les données et de les écrire dans un fichier.
Lire le fichier
Stream
objet serait préférable d'utiliser?J'ai mis à jour pour montrer comment créer XmlReader à partir du tableau d'octets de données.
Je vous remercie beaucoup. Je pensais que ce serait quelque chose comme ça, mais je suis très novice en C#.
OriginalL'auteur SwDevMan81