【发布时间】:2017-09-16 03:40:26
【问题描述】:
嘿 :) 我正在努力让 WebClient 返回 UTF-8。但是当 sub 应该返回类似 Ä 的东西时,它更像是 E 或者我认为。
尝试了很多解决方法,但都行不通。
private string translate(string input, string languagePair)
{
string url = String.Format("https://translate.google.com/?hl=en&ie=UTF8&text={0}&langpair={1}", input, languagePair);
WebClient wc = new WebClient();
wc.Headers.Add(HttpRequestHeader.AcceptCharset, "UTF-8");
wc.Encoding = Encoding.UTF8;
var data = wc.DownloadData(url);
var result = Encoding.UTF8.GetString(data);
//string result = wc.DownloadString(url);
int start = result.IndexOf("result_box");
string sub = result.Substring(start);
sub = sub.Substring(0, sub.IndexOf("</span>"));
start = sub.LastIndexOf(">");
sub = sub.Substring(start + 1);
return sub;
}
【问题讨论】:
-
请提供意见(
input和languagePair) -
示例输入:would, lp: en|de 返回 w?rde 而不是 würde
-
您好,您可以更改您的误导性标题! WebClient 可以读取 UTF-8 !您的问题与 Google 翻译有关,与 WebClient 无关。更改您的标题是合适的!