C# 返回的字符串如何转GB2312
C# 返回的字符串怎么转GB2312
C#开发的Windows窗体程序,如下:
请问返回的字符串myText 怎么变成GB2312格式进行显示呀?
现在返回的结果都是这样显示的

------解决思路----------------------
注意在编程中不要滥用 Encoding.Default。即使是你的所有客户的客户端和你的服务器端都是安装的简体中文windows操作系统,那么也不应该滥用这个。
你应该明确约定对方传来的信息的编码格式,例如utf8还是gb2312,明确约定,而不是用什么Encoding.Default。或者你应该解析对方传来的消息的头部信息或者消息体信息,判断编码格式,而不是想当然地用什么Encoding.Default。
很明显,这个Encoding.Default是取“本地”操作系统的编码格式。你从对方收到了信息,却用本地操作系统的默认的文本文件的编码方式来当作对方的编码方式,这个逻辑显然是太牵强了!
------解决思路----------------------
欢迎登陆
C#开发的Windows窗体程序,如下:
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
StreamReader myReader = new StreamReader(myResponse.GetResponseStream(), Encoding.Default);
string myText = myReader.ReadToEnd();
myReader.Close();
请问返回的字符串myText 怎么变成GB2312格式进行显示呀?
现在返回的结果都是这样显示的
------解决思路----------------------
注意在编程中不要滥用 Encoding.Default。即使是你的所有客户的客户端和你的服务器端都是安装的简体中文windows操作系统,那么也不应该滥用这个。
你应该明确约定对方传来的信息的编码格式,例如utf8还是gb2312,明确约定,而不是用什么Encoding.Default。或者你应该解析对方传来的消息的头部信息或者消息体信息,判断编码格式,而不是想当然地用什么Encoding.Default。
很明显,这个Encoding.Default是取“本地”操作系统的编码格式。你从对方收到了信息,却用本地操作系统的默认的文本文件的编码方式来当作对方的编码方式,这个逻辑显然是太牵强了!
------解决思路----------------------
欢迎登陆
string str = @"\u6b22\u8fce\u767b\u9646";
string sss = System.Text.RegularExpressions.Regex.Unescape(str);