c# unicode转汉字的问题
dll:里面publicstaticstring翻译(stringall,stringfrom,stringto){WebClientmywebclient=newWeb...
dll:里面
public static string 翻译(string all, string from, string to)
{
WebClient mywebclient = new WebClient();
byte[] html = mywebclient.DownloadData("http://openapi.baidu.com/public/2.0/bmt/translate?client_id=" + baiduapiid + "&q=" + all + "&from=" + from + "&to=" + to);
string allhtml=Encoding.Default .GetString (html );
if (allhtml.IndexOf("error_code") <0)
{
int start = allhtml.IndexOf("dst\":\"");
int end = allhtml.LastIndexOf("\"");
int len = "dst\":\"".Length;
string content = allhtml.Substring(start + len, end - start - len);
byte[] newa = Encoding.Unicode.GetBytes(content);
string newcontent = Encoding.Unicode.GetString(newa);
return newcontent;
}
else
{
return "错误";
}
}
程序中:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show ( hzy.other.翻译 ("hello",hzy.翻译_英文,hzy.翻译_中文 ));
}
显示出来的是"\u60a8\u597d",并非转换成汉子的结果.
但是我
byte[] a = Encoding.Unicode.GetBytes("\u60a8\u597d");
MessageBox.Show ( Encoding.Unicode.GetString(a));
却能得到正确的结果,请问该如何修改,不胜感激!! 展开
public static string 翻译(string all, string from, string to)
{
WebClient mywebclient = new WebClient();
byte[] html = mywebclient.DownloadData("http://openapi.baidu.com/public/2.0/bmt/translate?client_id=" + baiduapiid + "&q=" + all + "&from=" + from + "&to=" + to);
string allhtml=Encoding.Default .GetString (html );
if (allhtml.IndexOf("error_code") <0)
{
int start = allhtml.IndexOf("dst\":\"");
int end = allhtml.LastIndexOf("\"");
int len = "dst\":\"".Length;
string content = allhtml.Substring(start + len, end - start - len);
byte[] newa = Encoding.Unicode.GetBytes(content);
string newcontent = Encoding.Unicode.GetString(newa);
return newcontent;
}
else
{
return "错误";
}
}
程序中:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show ( hzy.other.翻译 ("hello",hzy.翻译_英文,hzy.翻译_中文 ));
}
显示出来的是"\u60a8\u597d",并非转换成汉子的结果.
但是我
byte[] a = Encoding.Unicode.GetBytes("\u60a8\u597d");
MessageBox.Show ( Encoding.Unicode.GetString(a));
却能得到正确的结果,请问该如何修改,不胜感激!! 展开
展开全部
string newcontent = Encoding.Unicode.GetString(newa);
加个断点,这一句中newa的值多少?
加个断点,这一句中newa的值多少?
更多追问追答
追答
content呢?content应该是\u60a8\u597d这种吧..
是的话byte[] newa = Encoding.Unicode.GetBytes(content);
string newcontent = Encoding.Unicode.GetString(newa);
改为string newcontent = Encoding.Unicode.GetString(content);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询