Я бы ожидал , что будет нормально работать как byte[]
;так что все, что вам нужно сделать, это сериализовать строку.Если я сделаю предположение о том, что xml помечен как UTF8 внутри (или вообще не помечен), то, возможно:* внутренне с кодировкой, отличной от UTF8, кодировка фактическая должна идеально соответствовать (иначе: плохие вещи).
Конечно, если вы создаете XML, то вы можете записать его непосредственно в двоичный файл и одновременно выбрать кодировку.Вы можете сделать это, передав Stream
и Encoding
XmlWriter
:
byte[] bytes;
using (var ms = new MemoryStream())
{
using(var xw = XmlWriter.Create(ms, new XmlWriterSettings { Encoding = Encoding.UTF8 }))
{
// write to xw, directly or indirectly
}
bytes = ms.ToArray();
}