当C#application

时间:2016-12-19 01:52:59

标签: c# rest httpresponsemessage

当我使用Postman时,我的REST服务的响应返回包含正确拉丁字符的JSON。当我从C#api调用相同的REST端点时,西班牙语或葡萄牙语中使用的特殊字符将替换为“?”。

来自Postman REST请求的

更正:“estánpartletiendocontraseñas” 来自C#.Net api请求的不正确:“est?n compartiendo contrase?as”

C#

HttpResponseMessage response = client.PostAsJsonAsync(string.Format("{0}/{1}", baseUri, apiUri), content).Result;
var repl = response.Content.ReadAsStringAsync().Result;

我还尝试将response.Content作为字节数组读取,然后使用UTF8编码来保留字符集。

var replbyte = response.Content.ReadAsByteArrayAsync().Result;
var myUTF8string = Encoding.UTF8.GetString(replbyte);
var myESPstring = Encoding.GetEncoding("iso-8859-1").GetString(replbyte);

这些都返回相同的错误文字:“est?n compartiendo contrase?as”

我知道REST端点是根据Postman的响应返回正确的字符。如何通过.Net应用程序获取正确的字符集形式?

0 个答案:

没有答案