プロジェクト(クラス)のC#でシリアライゼーションとデシリアライゼーションを使用しています。それらはシリアル化され、XML ファイルに保存されます。プロジェクトをロードすると、すべてうまくいきます。
今、シリアル化されたプロジェクトを Base64 にエンコードしてから、ファイルを保存しようとしていますが、これもうまくいきます。ファイルの最初の行 (エンコード前!) は次のようになります。
<?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">
ファイルをデコードすると、? 行の前に追加:
?<?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">
エンコードに使用するコード:
byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode);
string returnValue = System.Convert.ToBase64String(toEncodeAsBytes);
return returnValue;
そして、デコードするためのコード:
byte[] encodedDataAsBytes = System.Convert.FromBase64String(encodedData);
string returnValue = System.Text.ASCIIEncoding.ASCII.GetString(encodedDataAsBytes);
return returnValue;
これは何ですか?どうすれば修正できますか?