作者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)