Ich bin mit Serialisierung und Deserialisierung in C# für mein Projekt (die eine Klasse ist). Sie werden serialisiert und in einer XML-Datei gespeichert. Beim Laden des Projekts, geht alles gut.
Jetzt versuche ich, das serialisierte Projekt in Base64 zu kodieren und dann die Datei zu speichern, was auch gut funktioniert. Die erste Zeile der Datei (vor der Kodierung!) sieht wie folgt aus:
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
Wenn ich die Datei dekodiere, gibt es eine ? vor der Linie hinzugefügt:
?<?xml version="1.0" encoding="utf-8"?>
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
Der Code, den ich zum Verschlüsseln verwende:
byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode);
string returnValue = System.Convert.ToBase64String(toEncodeAsBytes);
return returnValue;
Und der Code für die Entschlüsselung:
byte[] encodedDataAsBytes = System.Convert.FromBase64String(encodedData);
string returnValue = System.Text.ASCIIEncoding.ASCII.GetString(encodedDataAsBytes);
return returnValue;
Woran kann das liegen und wie kann ich das beheben?