我已经通过 HTTP Post 从 C# 应用程序中的 URL 返回了这个字符串,其中包含一些中文字符,例如:
Gelatos® Colors Gift Setä¸æ–‡
问题是我想将其转换为
Gelatos® Colors Gift Set中文
这两个字符串实际上是相同的,但编码不同。我明白在 C# 中一切都是 UTF16。我已经尝试在这里阅读有关从一种编码转换为另一种编码的帖子,但没有运气。
希望有人能帮忙。
这是 C# 代码:
WebClient wc = new WebClient();
json = wc.DownloadString("http://mysite.com/ext/export.asp");
textBox2.Text = "Receiving orders....";
//convert the string to UTF16
Encoding ascii = Encoding.ASCII;
Encoding unicode = Encoding.Unicode;
Encoding utf8 = Encoding.UTF8;
byte[] asciiBytes = ascii.GetBytes(json);
byte[] utf8Bytes = utf8.GetBytes(json);
byte[] unicodeBytes = Encoding.Convert(utf8, unicode, utf8Bytes);
string sOut = unicode.GetString(unicodeBytes);
System.Windows.Forms.MessageBox.Show(sOut); //doesn't work...
这是来自服务器的代码:
<%@CodePage = 65001%>
<%option explicit%>
<%
Session.CodePage = 65001
Response.charset ="utf-8"
Session.LCID = 1033 'en-US
..... response.write (strJSON)
%>
网络上的输出是正确的。但我只是想知道是否对 C# 应用程序的 http 流进行了一些更改。
谢谢。