代碼如下[object Object]Code
string src = "中文里有English能否正常顯示?";
byte[] dftBytes = Encoding.Default.GetBytes(src);
byte[] ascBytes = Encoding.Convert(Encoding.Default, Encoding.ASCII, dftBytes);
string dst = Encoding.ASCII.GetString(ascBytes);
Console.WriteLine(dst);好像是沒什么問題啊,結果輸出的是????English???????
2 回答

喵喵時光機
TA貢獻1846條經驗 獲得超7個贊
不能轉換為 ASCII, 你可以看看你那個 ascBytes 的內容,所有的中文部分都是 值為 63 的字符,就是'?'
也就是說將中文轉換為ASCII是,將原有信息丟失了。
建議轉換為 UTF-8,當然按樓上所說轉換為 GB2312也可以。

12345678_0001
TA貢獻1802條經驗 獲得超5個贊
byte[] ascBytes = Encoding.Convert(Encoding.Default, Encoding.ASCII, dftBytes);
你把代碼轉為ASCII編碼當然有問題了,是GB2312編碼。
- 2 回答
- 0 關注
- 426 瀏覽
添加回答
舉報
0/150
提交
取消