



uj5u.com熱心網友回復:
streamreader不是.Core的東西uj5u.com熱心網友回復:
修改編碼格式,不一定非用默認的編碼格式uj5u.com熱心網友回復:
編碼合適我替換過所有的啦,都不行哦
uj5u.com熱心網友回復:
你接收到的會不會就是ascii碼uj5u.com熱心網友回復:
也不對,這不是ascii碼uj5u.com熱心網友回復:
這是因為Net Core還要面向Linux,MacOX等系統。微軟檔案這樣寫:https://docs.microsoft.com/zh-cn/dotnet/api/system.text.encoding.default?view=netframework-4.8
你可以在代碼中偵測Windows中文系統,并把Encoding設為Encoding.GetEncoding("gb2312")等
var reader = new StreamReader(fs, Encoding.GetEncoding("gb2312"))
...
uj5u.com熱心網友回復:
經測驗,的確存在這個問題2.2版本也是
1.0版本,Encoding根本沒有default編碼格式
各種格式都不行,看來是不支持中文了
uj5u.com熱心網友回復:
gb2312也用過啦,不過也不行
uj5u.com熱心網友回復:
可以在命令列運行chcp來檢查系統的默認語言代碼頁(也就是NetFramework下Encoding.Default得到的結果)。c:\>chcp
如果得到
850,默認代碼頁就是DOS Latin 1;
54936,就是GB 18030;
具體代碼,可以參考微軟的Code Page Identifiers
https://docs.microsoft.com/zh-cn/windows/win32/intl/code-page-identifiers
你也可以先盲目試試Encoding.GetEncoding("GB18030")等等。
uj5u.com熱心網友回復:
修改編碼格式,不一定非用默認的編碼格式
編碼合適我替換過所有的啦,都不行哦
Encoding.Default 改
Encoding.Unicode
共有這幾種編碼
Encoding.Unicode
Encoding.UTF32
Encoding.UTF7
Encoding.UTF8
Encoding.ASCII
一個一個改
uj5u.com熱心網友回復:

uj5u.com熱心網友回復:
那應該是我的環境有問題吧,我換個sdk吧
uj5u.com熱心網友回復:
那應該是我的環境有問題吧,我換個sdk吧
我大概知道是什么問題了,應該是windows記事本的鍋,你試著用其他的編輯器創建一個檔案,例如notepad++,或者把D:/log.txt檔案另存為,選擇編碼格式為UTF8,保存后再讀取試試
uj5u.com熱心網友回復:
那應該是我的環境有問題吧,我換個sdk吧
我大概知道是什么問題了,應該是windows記事本的鍋,你試著用其他的編輯器創建一個檔案,例如notepad++,或者把D:/log.txt檔案另存為,選擇編碼格式為UTF8,保存后再讀取試試
保存記事本有四種合適,只有第一種格式不行,其他的三中都是ok的
uj5u.com熱心網友回復:
我也是真服氣了,
FileStream fs = new FileStream("", FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, Encoding.Unicode);
明白了沒
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/127344.html
標籤:C#
