作者O2000 (吵死了 閉嘴啦)
看板Visual_Basic
標題Re: [VB2008] 讀取txt裡中文混合的資料
時間Sun Oct 5 11:56:19 2008
※ 引述《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