看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《MOONRAKER (㊣OGC-1701E馬鹿5號)》之銘言: : ※ 引述《pdyurfof (夏風秋星)》之銘言: : : "20081004^^^^Z彰化^^^^和美鎮^^" ^為空格 : : "19850621^^^^B台灣省^^台中市^^" : : 一段資料str.Substring(0,4)就是2008 : : 一段資料str.Substring(4,2)就是10 : : 但問題是讀到中文時str.Substring(13,6)是 彰化^^^^ : : 和 台灣省^^台 : .NET的substring符合unicode,字元數就是看到的字元數 : 中英文空白都算,不是byte數。 : : 是跟位元數有關嗎? : : 如果用一次讀一個字元,該怎麼判斷讀到下一行的資料呢? : (1)檢查vbcrlf。 : (2)一次讀一行,用for從第一個字元跑到最後一個字元,跑完就是沒有了。 : 或者透過轉換,把unicode轉成array of bytes(?),不過我忘了,手上也沒doc好看。 :   建議用String的Split方法 說明http://msdn.microsoft.com/zh-tw/library/system.string.split.aspx ps 轉成byte陣列是用Encoding的GetBytes方法 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.231.212.132
pdyurfof:感謝大大的指教╭(─╴╴─)╮ 10/05 19:11
MOONRAKER:剛剛想想轉換其實是非常麻煩…要先轉成big5再轉bytes 10/07 09:29
MOONRAKER:不然不能保證每個寬字元都轉成2 bytes… 10/07 09:29