일부 Windows 스토어 앱에서 나는 sourceText
이 텍스트의 이스케이프 된 표현입니다 .NET :를 UrlEncode
new Uri(string.Format(@"http://www.site.com?word={0}",
sourceText))
, 같은 URL을 보낼 필요가있다. 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));
하지만 Uri.EscapeUriString
사용 string
을 시도했습니다.
HttpUtility.UrlEncode(word, Encoding.GetEncoding(1251)
을 사용할 수 있지만 Windows 용 .NET 스토어에는 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
두 번째 문자열이 필요합니다