Json 使用 byte[] 响应,如何在 C# 中存储为文件?
Json response with byte[], how to store as file in C#?
我正在使用 HttpClient 调用 WCF 服务,该服务通过 rest/json returns 字节 [](pdf 文件)。
我似乎无法将字节正确写入我电脑上的文件,因为如果我在记事本中打开创建的文件,它只会显示字节 [] 值(即 [23,44,21,etc])。
有什么想法吗?
byte[] responseResult = responseContent.ReadAsByteArrayAsync().Result;
File.WriteAllBytes(@"I:\document.pdf", responseResult);
使用此方法可能对您有所帮助:
byte[] responseResult = System.Text.Encoding.ASCII.GetBytes("asjgdjasgdkjas");
File.WriteAllBytes(@"D:\mrig.txt", responseResult);
听起来 Result
实际上是字节数组的文本表示,而不是实际包含字节数组。
您是否看过原始 JSON 以了解 Result
中的内容?
如果它实际上是文本(十六进制或 base64),您将需要简单地转换它们以将它们用作 byte
数组。
如果考虑 char 'a' 那么它在内部存储为 97。那么我们可以说 'a' 是 97。但是 97 与字符串“97”不同。 “97”在内存中存储时被认为是序列7067。所以在记忆中它的所有位。我们将位分隔为字节。为了方便起见,我们将字节视为整数。为了做一些有用的事情,我们必须将这些字节映射到我们感兴趣的东西。97->'a' 就是这样。这种翻译我们称之为编码。所以发生的事情是你得到了原始字节 encoded.What 你需要的是原始字节。所以 responseContent 可能有编码文本而不是原始字节。
我正在使用 HttpClient 调用 WCF 服务,该服务通过 rest/json returns 字节 [](pdf 文件)。 我似乎无法将字节正确写入我电脑上的文件,因为如果我在记事本中打开创建的文件,它只会显示字节 [] 值(即 [23,44,21,etc])。
有什么想法吗?
byte[] responseResult = responseContent.ReadAsByteArrayAsync().Result;
File.WriteAllBytes(@"I:\document.pdf", responseResult);
使用此方法可能对您有所帮助:
byte[] responseResult = System.Text.Encoding.ASCII.GetBytes("asjgdjasgdkjas"); File.WriteAllBytes(@"D:\mrig.txt", responseResult);
听起来 Result
实际上是字节数组的文本表示,而不是实际包含字节数组。
您是否看过原始 JSON 以了解 Result
中的内容?
如果它实际上是文本(十六进制或 base64),您将需要简单地转换它们以将它们用作 byte
数组。
如果考虑 char 'a' 那么它在内部存储为 97。那么我们可以说 'a' 是 97。但是 97 与字符串“97”不同。 “97”在内存中存储时被认为是序列7067。所以在记忆中它的所有位。我们将位分隔为字节。为了方便起见,我们将字节视为整数。为了做一些有用的事情,我们必须将这些字节映射到我们感兴趣的东西。97->'a' 就是这样。这种翻译我们称之为编码。所以发生的事情是你得到了原始字节 encoded.What 你需要的是原始字节。所以 responseContent 可能有编码文本而不是原始字节。