[jdev] SASL debugging
Joe Hildebrand
hildjj at gmail.com
Sat Dec 10 16:52:40 CST 2005
This always works in Jabber-Net:
System.Text.Encoding.UTF8.GetBytes(elem.OuterXml)
On Dec 10, 2005, at 3:42 PM, Norman Rasmussen wrote:
> Trying to get an object serialized into a utf-8 xml string _without_
> the 0xfeff header.
>
> public static string GetStringFromObject(object Object, Type Type) {
> MemoryStream ms = new MemoryStream();
> StreamWriter sw = new StreamWriter(ms, Encoding.UTF8);
> XmlTextWriter xw = new XmlTextWriter(sw);
> xw.Formatting = Formatting.Indented;
>
> XmlSerializer serializer = new XmlSerializer(Type);
> serializer.Serialize(xw, Object);
>
> return Encoding.UTF8.GetString(ms.ToArray()).TrimStart('\xfeff');
> }
>
> if I tried it any other way, then either the xml would be labeled as
> utf-16 (when it was actually utf-8/ascii - who knows because it all
> happened to be 7-bit clean) and the web service would bitch, or it
> would be utf-16 and the web service would bitch, or I managed to get
> utf-8 encoding (and the xml header said it was utf-8), but the web
> service I was sending the string to would choke on the utf-8 leader.
>
> On 12/10/05, David Waite <dwaite at gmail.com> wrote:
>>> As you found, sometimes the .net framework actually does a utf-16
>>> encoding when you ask it for utf-8. This has nailed me recently
>>> when
>>> trying to use webservices. I ended up having to add and remove the
>>> 'marker' bytes (0xff, 0xfe) at the front of the byte array to get it
>>> to work properly.
>>
>> Are you encoding using the io framework rather than the text
>> encoding framework?
>>
>> -David Waite
>>
>
>
> --
> - Norman Rasmussen
> - Email: norman at rasmussen.co.za
> - Home page: http://norman.rasmussen.co.za/
More information about the JDev
mailing list