Im создает класс и преобразует его в xml.Почему ASCII.GetBytes возвращает неправильные байты
Проблема заключается в том, что, когда я преобразовать XML-строку класса в байтах
ASCII.GetBytes
возвращает массив с
дополнительный характер в начале ascArray
Это всегда? так что xml начинается следующим образом:
?<?xml version="1.0" encoding="utf-8"?>
Почему это происходит?
Это код:
WorkItem p = new WorkItem();
// Fill the class with whatever need to be sent to client
OneItem posts1 = new OneItem();
posts1.id = "id 1";
posts1.username = "hasse";
posts1.message = "hej again";
posts1.time = "time1";
p.setPost(posts1);
OneItem posts2 = new OneItem();
posts2.id = "id 2";
posts2.username = "bella";
posts2.message = "hej again again";
posts2.time = "time2";
p.setPost(posts2);
// convert the class WorkItem to xml
MemoryStream memoryStream = new MemoryStream();
XmlSerializer xs = new XmlSerializer(typeof(WorkItem));
XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);
xs.Serialize(xmlTextWriter, p);
// send the xml version of WorkItem to client
byte[] data = memoryStream.ToArray();
clientStream.Write(data, 0, data.Length);
Console.WriteLine(" send.." + data);
clientStream.Close();
Как вход 'XmlizedString' выглядеть, если вы останова на' Byte [] = ascArray Encoding.ASCII.GetBytes (XmlizedString); ' –
Это странно, у него есть ведущий? также, но это видно только в том случае, если я копирую/вставляю содержимое XmlizedString – Erik
Итак, почему UTF8ByteArrayToString добавляет дополнительный байт – Erik