[.NET] 讀取 記事本(TXT)檔 的編碼問題

看板Visual_Basic作者 (牧童)時間15年前 (2010/12/15 01:33), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串1/1
使用 VB.NET 版本為 2005 最近練習用程式 讀取檔案 讀取檔案時是使用非常方便的 My.Computer.FileSystem.ReadAllText 方式 但是這個方法有非常不方便的問題,就是編碼 在某些不知道txt檔編碼的情況下,使用錯誤的編碼讀取會顯示為亂碼 我只想到要一個一個編碼去測試哪種編碼才是正確的 orz 請問有什麼方法可以得知 txt 檔正確的儲存編碼 或是 有替代方案可以解決 讀取txt編碼 問題 @@ -- ※ 發信站: 批踢踢實業坊(ptt.cc)

12/15 06:57, , 1F
如果想要C#,VB.NET,C++多語言都用,養成不用My下面東西的習
12/15 06:57, 1F

12/15 06:57, , 2F
是必要的
12/15 06:57, 2F

12/15 06:58, , 3F
查一下FileStream and StreamReader and StreamWriter類別
12/15 06:58, 3F
感謝您提供這麼好用的方法 翻了十多本入門書籍,終於在vb.net黑皮書找到實例 目前初步使用成功 萬分感謝您! m(_ _)m ------------------------------ 目前又遇到新問題 使用filestream 及 streamReader 解決部分讀取編碼問題 遇到 文字為ANSI 編碼的簡字亂碼(如:盓厥⑵…等字) 無法正常讀取(會顯示為□□□) 但如果用My.Computer.FileSystem.ReadAllText 指定 System.Text.Encoding.Default 則可正常讀出亂碼文字

12/15 16:49, , 4F
就是指定encoding啊。沒有什麼別的辦法。
12/15 16:49, 4F

12/15 16:49, , 5F
另外streamreader本版起碼有五篇文章提過,最近少提而已
12/15 16:49, 5F

12/15 18:19, , 6F
你頂多可以先讀開頭幾個byte然後檢查BOM猜他是不是UTF8
12/15 18:19, 6F

12/15 18:20, , 7F
但是如果碰到沒BOM的UTF8檔案,這招也沒效
12/15 18:20, 7F
其實我就是遇到沒檔頭的才開始想其它方法 感謝你 我再查查有什麼方法可以使用 :p ※ 編輯: monemine74 來自: 118.160.90.191 (12/16 12:52)
文章代碼(AID): #1D1wfRXm (Visual_Basic)