Re: [VB2008] 讀取txt裡中文混合的資料

看板Visual_Basic作者 (吵死了 閉嘴啦)時間17年前 (2008/10/05 11:56), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串3/3 (看更多)
※ 引述《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

10/05 19:11, , 1F
感謝大大的指教╭(─╴╴─)╮
10/05 19:11, 1F

10/07 09:29, , 2F
剛剛想想轉換其實是非常麻煩…要先轉成big5再轉bytes
10/07 09:29, 2F

10/07 09:29, , 3F
不然不能保證每個寬字元都轉成2 bytes…
10/07 09:29, 3F
文章代碼(AID): #18w3hcEy (Visual_Basic)
文章代碼(AID): #18w3hcEy (Visual_Basic)