c# – 将文字不正确编码的字符串(例如“?”)转换为ISO-8859-1(La
发布时间:2020-12-16 00:25:41 所属栏目:百科 来源:网络整理
导读:在没有详细介绍的情况下,我有一个C#WCF应用程序,它是我调用的基于 XML的API的包装器.该API返回一个字符串,它实际上只是一个XML文档.然后我解析该XML,然后返回它.返回的信息在浏览器中显示为 JSON. 有点令人困惑,但这里有一些采样代码: [OperationContract][
在没有详细介绍的情况下,我有一个C#WCF应用程序,它是我调用的基于
XML的API的包装器.该API返回一个字符串,它实际上只是一个XML文档.然后我解析该XML,然后返回它.返回的信息在浏览器中显示为
JSON.
有点令人困惑,但这里有一些采样代码: [OperationContract] [WebInvoke(Method = "GET",BodyStyle = WebMessageBodyStyle.Bare,ResponseFormat = WebMessageFormat.Json,UriTemplate = "/TestGetUser")] TestGetUserResponse TestGetUser(); /* ... */ [DataContract(Namespace = "http://schema.mytestdomain/",Name = "TestGetUser")] public class TestGetUserResponse { [DataMember] public User User { get; set; } [DataMember] public Error Error { get; set; } } 而TestGetUser是: public TestGetUserResponse TestGetUser() { WebClient client = getCredentials(); // getCredentials() method is defined elsewhere string apiUrl = "http://my.api.url.com/API"; string apiRequest = "<?xml version='1.0' encoding='utf-8' ?><test>My XML Request Lives Here</test>"; string result = client.UploadString(apiUrl,apiRequest); XmlDocument user = new XmlDocument(); user.LoadXml(result); userNode = user.SelectSingleNode("/my[1]/xpath[1]/user[1]"); return new TestGetUserResponse { Error = new Error(),User = new User { Name = userNode.SelectSingleNode("name[1]").InnerText,Email = userNode.SelectSingleNode("email[1]").InnerText,ID = System.Convert.ToInt32(userNode.SelectSingleNode("id[1]").InnerText) } }; } 所以,当我从浏览器点击我的URL时,它会返回一个JSON字符串,如下所示: { "Error": { "ErrorCode": 0,"ErrorDetail": null,"ErrorMessage":"Success" },"User": { "Name": "John Smith","Email": "john.smith@example.com","ID": 12345 } } 现在,我的问题是,有时返回的字符串(直接来自API)是一个编码严重的UTF-8字符串(我想?我可能会有点错误).例如,我可能会回来: { "Error": { "ErrorCode": 0,"User": { "Name": "Jose Nu?±ez","Email": "jose.nunez@example.com","ID": 54321 } } 注意User对象下的Name属性中的?. 我的问题是,如何将这个编码不正确的字符串转换为?,它应该是什么? 我找到了很多帖子 > Strange Characters in database text: ?,?,¢,a? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- cocos2d-x中的引用计数原理
- c# – MVC3 LowerCase路由值的行为与UpperCase不同?
- swift – 在if语句中计算可选对象的Bool属性
- [Oracle] Io Error: The Network Adapter could not establ
- 常用正则表达式整理
- ruby-on-rails – ActiveRecord :: UnknownAttributeError
- xml – 在XQuery中为多个值计算出现次数的最有效方法
- VBScript自动配置Python语言(3.3)的环境变量
- Oracle 拥有 Javascript 商标,因此苹果公司下架了用户的 A
- C#函数式程序设计之惰性列表工具——迭代器