簡體   English   中英

Json響應與b​​yte [],如何將文件存儲為C#?

[英]Json response with byte[], how to store as file in C#?

我正在使用HttpClient調用WCF服務,該服務通過rest / json返回一個byte [](pdf文件)。 我似乎無法正確將字節寫入PC上的文件,因為如果在記事本中打開創建的文件,它將僅顯示byte []值(即[23,44,21,etc])。

有任何想法嗎?

byte[] responseResult = responseContent.ReadAsByteArrayAsync().Result;
File.WriteAllBytes(@"I:\document.pdf", responseResult);

如果考慮char'a',則其內部存儲為97。然后我們可以說'a'為97。但是97與字符串“ 97”不同。 存儲在內存中時,“ 97”被視為序列7067。 因此在內存中的所有位。 我們將位分隔為字節。 為了方便起見,我們以整數表示字節。 為了做有用的事情,我們必須將這些字節映射到我們感興趣的東西。97->'a'就是這樣。 我們稱這種翻譯為編碼。 所以發生的事情是您已經對原始字節進行了編碼。您需要的是原始字節。 因此,responseContent可能具有編碼的文本,而不是原始字節。

使用此方法可能會幫助您:

byte [] responseResult = System.Text.Encoding.ASCII.GetBytes(“ asjgdjasgdkjas”); File.WriteAllBytes(@“ D:\\ mrig.txt”,responseResult);

聽起來Result實際上是字節數組的文本表示形式,而不是實際上包含字節數組。

您是否看過原始JSON以查看Result

如果它實際上是文本的(十六進制或base64),則只需將它們轉換為byte數組即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM