我正在尝试在我的winform应用程序中将字符串从“英语翻译成Bangla”。 我试过这段代码
string input = "i eat rice";
string languagePair = "en|bn";
string url = String.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}", input, languagePair);
WebClient webClient = new WebClient();
webClient.Encoding = System.Text.Encoding.UTF8;
string result = webClient.DownloadString(url);
result = result.Substring(result.IndexOf("<span title=\"") + "<span title=\"".Length);
result = result.Substring(result.IndexOf(">") + 1);
result = result.Substring(0, result.IndexOf("</span>"));
MessageBox.Show(result.Trim());
但我得到的是那个 &amp;#2438&amp;#2478&amp;#2495&amp;#2477&amp;#2494&amp;#2468&amp;#2454&amp;#2494&amp;#2439 但如果我把它放在谷歌的搜索框中,那么它会将我翻译的语言显示在搜索框中。 如何才能在我的winform中显示翻译的语言? N.B:我不想使用谷歌翻译API。
答案 0 :(得分:3)
您获得的结果&#...
是每个UTF-16字符的HTML实体编码。您可以使用HttpUtility.HtmlDecode
或WebUtility.HtmlDecode
来获取实际的unicode字符串。
result = HttpUtitlityDecode(result.Trim());
MessageBox.Show(result);
有关详细信息,请参阅Decoding all HTML Entities。