C 中StreamReader讀取中文出現亂碼

2021-07-10 09:00:46 字數 1365 閱讀 4671

有時在用c#中streamreader讀取中文時出現亂碼 如:

原因是自windows 2000之後的作業系統在檔案處理時預設編碼採用unicode

所以.net檔案的預設編碼也是unicode。除非另外指定,streamreader的預設編碼為unicode,

而不是當前系統的ansi**頁。但是文件大部分還是以ansi編碼儲存,中文文字使用的是gb2312,所以才造成中文亂碼

所以在讀取文字的時候要指定編碼格式。

使用system.text.encoding.defaul告訴streamreader採用目前作業系統的編碼即可。如:

C 中StreamReader讀取中文出現亂碼

yhrun原文c 中streamreader讀取中文出現亂碼 原因是自windows 2000之後的作業系統在檔案處理時預設編碼採用unicode 所以.net檔案的預設編碼也是unicode。除非另外指定,streamreader的預設編碼為unicode,而不是當前系統的ansi 頁。但是文件大...

C 中StreamReader讀取中文出現亂碼

yhrun原文c 中streamreader讀取中文出現亂碼 原因是自windows 2000之後的作業系統在檔案處理時預設編碼採用unicode 所以.net檔案的預設編碼也是unicode。除非另外指定,streamreader的預設編碼為unicode,而不是當前系統的ansi 頁。但是文件大...

c 用StreamReader對檔案讀取

型別 陣列反顯,處理 public void ontypearrayshowitem 讀取對應的天線型別檔案 opentext 建立乙個utf 8 編碼的streamreader物件 streamreader currenttypearraysr currenttypearrayfile.opent...