0

我正在使用消息,并且消息以 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>
4

1 回答 1

1

你在滥用XmlTextWriter.

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

如果你有一个现有的 XML 字符串,并且你想将它写入一个文件,你应该像任何其他字符串一样使用File类来编写它。

您甚至不需要解码字节;您可以将它们直接写入磁盘。

于 2013-01-22T17:51:27.740 回答