作者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)
推 tomex:會錯誤嗎? MemoryStream應該是正解才是 05/05 14:20
→ regionbbs:你可以先用 Encoding.UTF8.GetBytes() 轉換 byte[] 05/05 14:45
→ regionbbs:再用 Encoding.UTF8.GetString() 來還原。 05/05 14:46
→ licc28:但是UTF8.GetBytes只吃char[]和string,這樣我一樣得轉換一 05/05 14:53
→ licc28:次,我是想說有沒有不將byte[]轉成string或char[]的方法 05/05 14:54
→ licc28:所以才直接將byte[]丟給MemoryStream再給xml吃,但卻出錯 05/05 14:55
推 teyou:xr.Read() 印象中你這樣呼叫等於"第二次呼叫" 05/09 01:25