作者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
1F:推 pdyurfof:感谢大大的指教╭(─╴╴─)╮ 10/05 19:11
2F:→ MOONRAKER:刚刚想想转换其实是非常麻烦…要先转成big5再转bytes 10/07 09:29
3F:→ MOONRAKER:不然不能保证每个宽字元都转成2 bytes… 10/07 09:29