我之前使用 UTF8 编码存储了从 URL 下载的字符串。
\"TEXT LINE ONE\"\r\n\"MORE TEXT LINE\"
本质上它是 CSV 格式。当我读回字符串来操作它时,它显然仍然得到了所有编码的字符。
到目前为止,我已经解决了它,我知道转义的字符,以简单地替换它们。但是想知道将字符串转换为 byte[] 然后转换为字符串的正确方法,然后我可以执行此操作mystr = mystr.Trim('"');
。
你如何从上面的字符串中得到一个可以使用 System.Text.Encoding 的字符串函数的字符串?
更新:
原始 CSV 看起来像
"TEXT LINE ONE"
"MORE TEXT LINE"
好的,所以不是逗号分隔,但你明白了。
// load the data from URL
WebRequest request = WebRequest.Create(csvUrl);
request.Timeout = 30 * 60 * 1000;
request.UseDefaultCredentials = true;
request.Proxy.Credentials = request.Credentials;
WebResponse response = (WebResponse)request.GetResponse();
using (Stream s = response.GetResponseStream())
{
var str = Encoding.UTF8.GetString(ReadFully(s));
}
在这种情况下str
==\"TEXT LINE ONE\"\r\n\"MORE TEXT LINE\"
然后我在序列化它之前把它放到一个流中。
using (Stream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes (str)))
{
// save
// now it's saved with literal characters for each \"
}