【发布时间】:2013-12-06 11:02:36
【问题描述】:
我有一个程序以二进制格式从 url 获取响应,但我不知道如何将其转换为文本文件。
byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(postString);
request.ContentLength = postBytes.Length;
Stream stream = request.GetRequestStream();
stream.Write(postBytes, 0, postBytes.Length);
stream.Close();
response = (HttpWebResponse)request.GetResponse();
Stream ReceiveStream = response.GetResponseStream();
string filename = "C:\\responseGot.txt";
byte[] buffer = new byte[1024];
FileStream outFile = new FileStream(filename, FileMode.Create);
int bytesRead;
while ((bytesRead = ReceiveStream.Read(buffer, 0, buffer.Length)) != 0)
outFile.Write(buffer, 0, bytesRead);
当我打开 responseGot.txt 时,它是一个二进制文件,我如何获取文本文件。
【问题讨论】:
-
您不会展示如何编写文件,但您必须知道二进制文件的格式才能将其转换为文本。如果是 UTF-8,请尝试
Encoding.UTF8.GetString()。 -
@CodeCaster,这就是我的写作方式。字节[]缓冲区=新字节[1024]; FileStream outFile = new FileStream(filename, FileMode.Create); int bytesRead; while ((bytesRead = ReceiveStream.Read(buffer, 0, buffer.Length)) != 0) outFile.Write(buffer, 0, bytesRead);
-
回答了我一半的评论。你确定字节应该代表文本吗?然后在适当的编码类上调用
GetString()。
标签: c# httpwebresponse