デフォルトでは、StringWriter
はそれ自体がUTF-16
であることを宣伝します。通常XML
はUTF-8
です。 だから私はStringWriter
シリアル化中にエンコードが心配すべきですか?
public class Utf8StringWriter : StringWriter
{
public override Encoding Encoding
{
get { return Encoding.UTF8; }
}
}
をサブクラス化することで、この問題を解決することができますしかし、なぜ私はそれを心配する必要がありますか? Utf8StringWriter
の代わりにStringWriter
(私のように)を使うことにしたらどうなるでしょうか?バグがありますか?
その後、私はそれがへの書き込み根底にあるものはネットstring
を生成StringBuilder
、あるとして実際に、その有用ではありませんMongoDb
に関与していた場合でも、内部に起こるような方法のエンコーディングを変更しません
Encoding
プロパティのゲッターをオーバーライド? http://stackoverflow.com/questions/13743250/meaning-of-xml-version-1-0-encoding-utf-8 –