public string Serialize(BackgroundJobInfo info)
{
var stringBuilder = new StringBuilder();
using (var stringWriter = new StringWriter(stringBuilder, CultureInfo.InvariantCulture))
{
var writer = XmlWriter.Create(stringWriter);
...
Theo mặc định, StringWriter
sẽ tự quảng cáo là ở số UTF-16
. Thông thường, XML
nằm trong số UTF-8
. Vì vậy, tôi có thể sửa lỗi này bằng subclassing StringWriter
Tôi có nên lo lắng về mã hóa trong quá trình tuần tự hóa không?
public class Utf8StringWriter : StringWriter
{
public override Encoding Encoding
{
get { return Encoding.UTF8; }
}
}
Nhưng tại sao tôi nên lo lắng về điều đó? Điều gì sẽ xảy ra nếu tôi quyết định sử dụng StringWriter
(như tôi đã làm) thay vì Utf8StringWriter
? Tôi sẽ có một số lỗi?
Sau đó tôi sẽ viết chuỗi này để Encoding
tài sản MongoDb
Do câu trả lời cho câu hỏi trợ giúp này? http://stackoverflow.com/questions/13743250/meaning-of-xml-version-1-0-encoding-utf-8 –