一部のWindowsストアアプリでは、次のようなURLを送信する必要があります
new Uri(string.Format(@"http://www.site.com?word={0}",
sourceText))
ここsourceText
で、 は一部のテキストのエスケープ表現です。UTF-8 が必要な場合は簡単ですが、Windows-1251 エンコーディングが必要です。
私が試してみました
byte[] unicodeBytes = Encoding.Unicode.GetBytes(sourceText);
byte[] win1251bytes = Encoding.Convert(Encoding.Unicode, Encoding.GetEncoding("windows-1251"), unicodeBytes);
string sourceText =
Uri.EscapeUriString(Encoding.GetEncoding("windows-1251").GetString(win1251bytes, 0, win1251bytes.Length));
ただし、自動的に Unicode に変換する をUri.EscapeUriString
使用します。string
を使用できましたが、.NET for Windows StoreHttpUtility.UrlEncode(word, Encoding.GetEncoding(1251)
にはありません。System.Web.HttpUtility
たとえば、UTF-8 の「привет」: %D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82
; Windows-1251 : %EF%F0%E8%E2%E5%F2
. 2番目の文字列が必要です