C# 将utf8编码的字符串转换为C中的unicode#
我通过HTTP Post从C#应用程序中的URL返回了这个字符串,其中包含一些汉字,例如:C# 将utf8编码的字符串转换为C中的unicode#,c#,encoding,C#,Encoding,我通过HTTP Post从C#应用程序中的URL返回了这个字符串,其中包含一些汉字,例如: Gelatos® Colors Gift Setä¸æ–‡ 问题是我想把它转换成 Gelatos® Colors Gift Set中文 两个字符串实际上相同,但编码不同。我知道在C#中,一切都是UTF16。我在这里读过很多关于从一种编码转换到另一种编码的帖子,但没有成功 希望有人能帮忙 这是C代码: 以下是来自服务器的代码: <%@CodePage = 65001%> <%opt
Gelatos® Colors Gift Setä¸æ–‡
问题是我想把它转换成
Gelatos® Colors Gift Set中文
两个字符串实际上相同,但编码不同。我知道在C#中,一切都是UTF16。我在这里读过很多关于从一种编码转换到另一种编码的帖子,但没有成功
希望有人能帮忙
这是C代码:
以下是来自服务器的代码:
<%@CodePage = 65001%>
<%option explicit%>
<%
Session.CodePage = 65001
Response.charset ="utf-8"
Session.LCID = 1033 'en-US
来自web的输出是正确的。但我只是想知道是否对C#应用程序的http流进行了一些更改
谢谢。首先以字节形式下载网页。然后,将字节转换为正确的编码
首先使用错误的编码进行转换,可能会丢失数据。特别是使用ASCII。如果服务器真的返回UTF-8文本,您可以通过设置其属性来配置
WebClient。这将消除任何后续转换的需要
using (WebClient wc = new WebClient())
{
wc.Encoding = Encoding.UTF8;
json = wc.DownloadString("http://mysite.com/ext/export.asp");
}
您尝试了哪些转换函数,出现了什么问题?叶:您能告诉我们负责生成字符串的HTTP POST的代码吗?谢谢,但是如何使用特定编码从URL下载?好的,使用byte[]response=new System.Net.WebClient().DownloadData(URL)获得下载部分;谢谢道格拉斯…终于把这件事做好了。ASP确实返回UTF8,因此C#将显示返回的正确字符串。
%>
using (WebClient wc = new WebClient())
{
wc.Encoding = Encoding.UTF8;
json = wc.DownloadString("http://mysite.com/ext/export.asp");
}