現在C#でWebAPIを叩くUWPアプリ開発をしております.
叩いているAPIはTwitterのもので,レスポンスのボディはUTF-8のjson形式となっております.
現在,コンソールアプリでは期待通りの結果が得られており,以下のコードにてアンエスケープまで完了した生のjsonデータが得られています.
C#
1 var client = new HttpClient(); 2 client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded")); 3 client.DefaultRequestHeaders.Add("Authorization", authHeader); 4 5 var response = await client.GetAsync(reqUrl); 6 var res = await response.Content.ReadAsStringAsync(); 7 8 if(response.IsSuccessStatusCode) { 9 Console.OutputEncoding = Encoding.UTF8; 10 Console.WriteLine(Regex.Unescape(res)); 11 } 12 else { 13 Console.WriteLine("むねん"); 14 }
しかし,これをUWPアプリにて実装しようとすると,Regex.Unescape(res)のところで例外が発生してしまい,
System.ArgumentException: 'parsing '�'
と表示されてしまいます.
UWPアプリとコンソールアプリとではstring型の取り扱いが異なる物なのでしょうか?
型にマウスオーバーすると,UWPアプリではUnicode文字,コンソールアプリではUTF-16文字と表示されています.
どなたか解決方法を含めてご教授頂ければ幸いです.
よろしくお願いいたします.
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。