0

WinForms アプリで文字列を「English to 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());

しかし、私が得たのは次のとおりです。
&#2438 &#2478 &#2495 &#2477 &#2494 &#2468 &#2454 &#2494 &#2439
しかし、それをGoogleの検索ボックスに入れると、翻訳された言語が検索ボックスに表示されます。翻訳された言語を WinForm に表示するにはどうすればよいですか? 注意: Google 翻訳 API は使いたくありません。

4

1 に答える 1

3

得られる結果は&#...、各 UTF-16 文字の HTML エンティティ エンコーディングです。HttpUtility.HtmlDecodeまたはを使用WebUtility.HtmlDecodeして、実際のユニコード文字列を取得できます。

result = HttpUtitlityDecode(result.Trim());
MessageBox.Show(result);

詳細については、すべての HTML エンティティのデコードを参照してください。

于 2013-01-09T04:34:11.040 に答える