xml里中文的问题

xxxhn 2005-04-13 09:50:48
在一些xml文件里,一个中文是用一个带&#前缀的数字来表示的
比如中文"我"用我来表示的,请问这是什么编码?

这些xml文件头为<?xml version="1.0" encoding="UTF-8"?>,指明是UTF-8编码,但我看了
UTF-8格式的定义,一个中文应该是用三个字节来描述。
这些xml文件里的中文能用.net的xml解释器来解析,既能将我还原到"我"
但我用.net里的UTF8Encoding对中文进行编码,得不到上面的结果,在XmlWriter里选择编
码方式为UTF8也得不到上面的结果。

如果我想在.net里将"我"编码成我这样的,该怎么做?thx
...全文
226 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
速马 2005-04-13
  • 打赏
  • 举报
回复
// 比如中文"我"用我来表示的,请问这是什么编码
这是转义的表达方式,你也可以直接写"我"

// 但我用.net里的UTF8Encoding对中文进行编码,得不到上面的结果
和上面一样,两种方式等价(所以根本没必要)
你要想自己也这样转义,看这段代码:
int i = (int)'我';
xxxhn 2005-04-13
  • 打赏
  • 举报
回复
我知道可以读取和写入中文的,但我想要我文中说的那个效果,因为我在.net里生成的xml要在其他地方用,而其他地方并不一定支持gb2321编码
Tomgus 2005-04-13
  • 打赏
  • 举报
回复
读取:
StreamReader sr=new StreamReader(Application.StartupPath+"\\"+ServicePar.Mobile+"\\group.xml",Encoding.GetEncoding("gb2312"));
Tomgus 2005-04-13
  • 打赏
  • 举报
回复
xml可以中文
XmlTextWriter users=new XmlTextWriter(Application.StartupPath+"\\"+ServicePar.Mobile+"\\mobile.xml",Encoding.GetEncoding("GB2312"));
users.Formatting=Formatting.Indented;
users.WriteStartDocument();
users.WriteStartElement("kll");
users.WriteEndDocument();
users.Close();

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧