作者licc28 (licc)
看板C_Sharp
标题[问题] 请问一个用xml与stream的问题
时间Mon May 5 13:02:38 2008
是这样子的,我用tcp的方式接了xml的资料
存在一个byte[]的缓冲里,然後我要用XmlTextReader
来读资料,原先我是先将byte[]用ASCIIencoding
转存到string,再用TextReader读给XmlTextReader吃
这样子是没什麽问题的,但是觉得好像绕一圈的感觉
如果我一开始即用MemoryStream来存byte[]
直接给XmlTextReader吃的话,在读ascii字元是没问题
但是一遇到中文字就发出例外了,这样子的话该怎麽解决呢??
我看了一下MemoryStream和XmlTextReader都没有
什麽比较直接的方法改encoding的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.225.9.131
※ 编辑: licc28 来自: 125.225.9.131 (05/05 13:49)
1F:推 tomex:会错误吗? MemoryStream应该是正解才是 05/05 14:20
2F:→ regionbbs:你可以先用 Encoding.UTF8.GetBytes() 转换 byte[] 05/05 14:45
3F:→ regionbbs:再用 Encoding.UTF8.GetString() 来还原。 05/05 14:46
4F:→ licc28:但是UTF8.GetBytes只吃char[]和string,这样我一样得转换一 05/05 14:53
5F:→ licc28:次,我是想说有没有不将byte[]转成string或char[]的方法 05/05 14:54
6F:→ licc28:所以才直接将byte[]丢给MemoryStream再给xml吃,但却出错 05/05 14:55
8F:推 teyou:xr.Read() 印象中你这样呼叫等於"第二次呼叫" 05/09 01:25