2012-12-21 52 views
0

我有以下文本二進制表示:「0x255044462D312E340D0A25FFFFFFF ...」 我知道這是一個pdf。 我知道這是來自sql服務器列(圖像數據類型)的文本represantation。如何將二進制表示保存到文件

但我失去了解如何將這個二進制文件保存到我的磁盤上的PDF文件並查看內容。

也許有人可以暗示我正確的方向。

誠摯的問候和感謝提前

+0

它不是二進制的,它是十六進制的。 –

+0

我試圖把它作爲一個十六進制字符串,因此將其轉換爲一個字節數組,但長度不均勻。 – esc0ba

回答

0

我不知道你正在使用什麼數據庫,或者你是如何讓你的字符串,你有以上。

許多數據庫允許您將二進制數據保存爲blob或其他一些字節數組類型。我相信MSSQL這被稱爲「圖像」,但我不是100%。我將首先查看以下兩個鏈接。第一個鏈接討論如何從數據庫中提取字節數組數據。該示例在Visual Basic中,但如果您正在使用的是C#,則應該輕鬆將其更改爲C#。

第二個鏈接包含如何將該字節數組數據保存到文件系統的示例。

我也建議發佈一些你已經試過的代碼,以便社區可以評論並指出你可能有誤解的地方。

1)http://support.microsoft.com/kb/308042
2)Save and load MemoryStream to/from a file

+0

感謝您的回覆!它是一個Microsoft SQL數據庫。關鍵是,我沒有直接訪問數據庫。我剛剛得到這個「字符串」。我想將這個二進制數據保存爲我的磁盤。 – esc0ba

+0

你是如何得到字符串的?你可能也想看看這個StackOverflow的問題。 http://stackoverflow.com/questions/311165/how-do-you-convert-byte-array-to-hexadecimal-string-and-vice-versa – Frito

+0

我知道它通過微軟的輸出窗口中的選擇語句SQL管理工作室。 – esc0ba

1

你是正確的,它是一個PDF文件(至少它僞裝就像你十六進制編碼字節;第一次讀:

255044462D312E340D0A 

%PDF-1.4<CR><LF> 

所以,你似乎有一個PDF 1.4字符串。

只取兩個字符從字符串,把他們當作十六進制,並將其轉換爲正確的字節,並將其寫入文件。寫斌ary,而不是文本(你不想在那裏添加額外的換行符,PDF太過二進制,不能讓它工作。

相關問題