【发布时间】:2015-09-19 20:23:23
【问题描述】:
我已经检查了关于 SO 的其他类似问题,他们建议使用 WebUtility.HtmlDecode() 或逐个字符替换编码部分或假设某些已知的正则表达式模式等。他们不回答这个特定的查询。
我有一个 C# 控制台应用程序,它将一些数据发布到 MVC 应用程序。然后服务返回的消息被写入一个简单的文本文件。当我将它写入文件时,文本就像
“处理此请求时出现问题!\r\n查看详细日志\u003e d:\\Sandboxes\\UGBNC\\Stage\\Logs\\ArgLog2087129002.log”
我想要的是删除这些编码文本,如\u0027、\r\n、\\ 等,并在我的文本文件中正确格式化(例如,使用换行符、制表符等)。而且我不知道所有字符可能会出现什么,所以我不能用string replace 或regex replace 替换它们,我需要一个通用的解决方案。
MVC 服务以 json 格式返回数据,Content-Type: application/json; charset=utf-8,我的客户端代码是这样的
try
{
using (var client = new HttpClient())
{
var request = WebRequest.Create(uri);
//configure request details
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
var message = sr.ReadToEnd();
//process message
}
}
}
catch (WebException wex)
{
using (var stream = wex.Response.GetResponseStream())
using (var reader = new StreamReader(stream))
{
var message = reader.ReadToEnd(); //this is the encoded string
File.AppendAllText("SomeTextFile.txt", message);
}
}
最好/最简单的方法是什么?
注意:我不想逐个字符地替换它们,我想要一个通用的解决方案。
【问题讨论】:
-
那里标记的问题实际上解决了这个问题(至少现在是这样),感谢您的指导。原帖stackoverflow.com/questions/2661169/…
标签: c# asp.net-mvc string encoding escaping