none
讀取 TXT文字檔的問題 RRS feed

  • 問題

  • 使用的軟體為VS2005

    介面上有一個 顯示成功讀取檔案的 TXETBOX,讀取TXT檔的程式如下:

        Dim fs As New System.IO.FileStream(filepatch, FileMode.Open)
    
        openstr = New StringBuilder("")
    
        Dim r As New StreamReader(fs, System.Text.Encoding.Default, True)
    
        r.BaseStream.Seek(0, SeekOrigin.Begin)
        While r.Peek() > -1
          openstr.Append(r.ReadLine() & ControlChars.CrLf)
        End While
        r.Close()
    
        Me.TEXTBOX.Text = openstr.ToString
    

    目前遇到的問題有兩個。

    第一個問題:讀取 「沒有檔頭」 的UTF-8 文件 在TEXTBOX 會顯示為亂碼,該如何判別此類文件?@@

    第二個問題:讀取 「簡體中文」系統下的 ANSI 文件會顯示亂碼,文件如為簡中文字,只要做個編碼修正即可,但如果文字是繁中,而用簡中作業系統的ANSI儲存,讀取出的少數文字會變成「?」等問號,想請問如何讀取使用簡中OS系統下儲存的繁中TXT檔而不會使「為、還」等文字變成「??」符號。

     

    2011年4月25日 上午 07:58

解答

  • 1. 沒有。你可以自己歸納一些方式去智慧判斷。

    2. 用 Binary 讀出後,用 Encoding 去轉。用文字讀出的話,就沒辦法轉了。

     


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 想不到ID 2011年4月26日 上午 08:05
    2011年4月25日 下午 01:27

所有回覆

  • 1. 沒有。你可以自己歸納一些方式去智慧判斷。

    2. 用 Binary 讀出後,用 Encoding 去轉。用文字讀出的話,就沒辦法轉了。

     


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 想不到ID 2011年4月26日 上午 08:05
    2011年4月25日 下午 01:27
  • 謝謝你,這樣我知道該如何修改了。^^
    2011年4月26日 上午 08:07