[問題] 請問一個用xml與stream的問題

看板C_Sharp作者 (licc)時間17年前 (2008/05/05 13:02), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
是這樣子的,我用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)

05/05 14:20, , 1F
會錯誤嗎? MemoryStream應該是正解才是
05/05 14:20, 1F

05/05 14:45, , 2F
你可以先用 Encoding.UTF8.GetBytes() 轉換 byte[]
05/05 14:45, 2F

05/05 14:46, , 3F
再用 Encoding.UTF8.GetString() 來還原。
05/05 14:46, 3F

05/05 14:53, , 4F
但是UTF8.GetBytes只吃char[]和string,這樣我一樣得轉換一
05/05 14:53, 4F

05/05 14:54, , 5F
次,我是想說有沒有不將byte[]轉成string或char[]的方法
05/05 14:54, 5F

05/05 14:55, , 6F
所以才直接將byte[]丟給MemoryStream再給xml吃,但卻出錯
05/05 14:55, 6F

05/05 14:55, , 7F
這是錯誤圖 http://0rz.tw/1a3ZG
05/05 14:55, 7F

05/09 01:25, , 8F
xr.Read() 印象中你這樣呼叫等於"第二次呼叫"
05/09 01:25, 8F
文章代碼(AID): #187fJlDS (C_Sharp)