使用编码将byte()变量转换为字符串

时间:2013-01-22 17:48:15

标签: xml visual-studio-2010 character-encoding

我正在使用消息,消息以byte()格式存储,我尝试将其转换为字符串,但在将其写入文件时仍然会看到unicode字符。我在这做错了什么

 xwriter = New XmlTextWriter(filename,Encoding.UTF8)
 Dim body As String = System.Text.Encoding.UTF8.GetChars(result.Body)
'body = replaceIllegalXMLChars(body)  ///tried converting them explicitly but did not work
 xwriter.WriteString(post)
 xwriter.Flush()

示例输出:

   <avataruri>http://a0.twimg.com/profile_images/1651487744/Vman_normal.jpg
   </avataruri>
   <suitable>0</suitable>

1 个答案:

答案 0 :(得分:1)

你误用了XmlTextWriter

XmlTextWriter通过转义文本和编写标记名称来帮助您生成自己的XML 调用WriteString()会将您传递的文本写为XML content ,正确转义特殊字符。

如果您有一个现有XML字符串,并且想要将其写入文件,则应使用File类将其写为任何其他字符串。

你甚至不需要解码字节;你可以直接把它们写到磁盘上。