作者monemine74 (牧童)
看板Visual_Basic
标题[.NET] 读取 记事本(TXT)档 的编码问题
时间Wed Dec 15 01:33:12 2010
使用 VB.NET 版本为 2005
最近练习用程式 读取档案
读取档案时是使用非常方便的 My.Computer.FileSystem.ReadAllText 方式
但是这个方法有非常不方便的问题,就是编码
在某些不知道txt档编码的情况下,使用错误的编码读取会显示为乱码
我只想到要一个一个编码去测试哪种编码才是正确的 orz
请问有什麽方法可以得知 txt 档正确的储存编码
或是 有替代方案可以解决 读取txt编码 问题 @@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
1F:→ horngsh:如果想要C#,VB.NET,C++多语言都用,养成不用My下面东西的习 12/15 06:57
2F:→ horngsh:是必要的 12/15 06:57
3F:→ horngsh:查一下FileStream and StreamReader and StreamWriter类别 12/15 06:58
感谢您提供这麽好用的方法
翻了十多本入门书籍,终於在vb.net黑皮书找到实例
目前初步使用成功
万分感谢您! m(_ _)m
------------------------------
目前又遇到新问题
使用filestream 及 streamReader 解决部分读取编码问题
遇到 文字为ANSI 编码的简字乱码(如:盓厥⑵…等字)
无法正常读取(会显示为□□□)
但如果用My.Computer.FileSystem.ReadAllText 指定 System.Text.Encoding.Default
则可正常读出乱码文字
4F:→ MOONRAKER:就是指定encoding啊。没有什麽别的办法。 12/15 16:49
5F:→ MOONRAKER:另外streamreader本版起码有五篇文章提过,最近少提而已 12/15 16:49
6F:→ MOONRAKER:你顶多可以先读开头几个byte然後检查BOM猜他是不是UTF8 12/15 18:19
7F:→ MOONRAKER:但是如果碰到没BOM的UTF8档案,这招也没效 12/15 18:20
其实我就是遇到没档头的才开始想其它方法 感谢你
我再查查有什麽方法可以使用 :p
※ 编辑: monemine74 来自: 118.160.90.191 (12/16 12:52)