看板 C_Sharp 關於我們 聯絡資訊
是這樣子的,我用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
licc28:這是錯誤圖 http://0rz.tw/1a3ZG 05/05 14:55
teyou:xr.Read() 印象中你這樣呼叫等於"第二次呼叫" 05/09 01:25