如何将二进制表示保存到文件

时间:2012-12-21 22:02:09

标签: c# sql pdf binary

我有以下文本二进制表示:“0x255044462D312E340D0A25FFFFFFF ......” 我知道这是一个pdf。 我知道这是来自sql server列的文本represantation(图像数据类型)。

但是我很想知道如何将这个二进制文件保存到我的磁盘上的pdf文件中并查看内容。

也许有人可以向我暗示正确的方向。

最好的问候和提前谢谢

3 个答案:

答案 0 :(得分:1)

你是正确的,它是一个PDF文件(至少它伪装成像。你有十六进制编码的字节;第一个读:

255044462D312E340D0A

%PDF-1.4<CR><LF>

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

从字符串中取两个字符,将它们视为十六进制,将它们转换为正确的字节并将它们写入文件。写二进制文件,而不是文本文件(你不想在那里添加额外的换行符,PDF太过二进制,不能让它工作。

(我使用此网站进行转换:http://www.dolcevie.com/js/converter.html

答案 1 :(得分:0)

我不确定您正在使用哪个数据库,或者您是如何获得上面的字符串的。

许多数据库允许您将二进制数据保存为blob或其他字节数组类型。我相信MSSQL这被称为“图像”,但我不是100%。我将首先按顺序查看以下两个链接。第一个链接讨论如何从数据库中提取字节数组数据。该示例在Visual Basic中,但如果您正在使用它,则应该很容易更改为C#。

第二个链接包含如何将该字节数组数据保存到文件系统的示例。

我还建议您发布一些您尝试过的代码,以便社区可以评论并指出您可能误解的区域。

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

答案 2 :(得分:0)

http://www.pdfsharp.com/PDFsharp/可读取二进制数据,您可以调用.Save(),它会将PDF文件转换为磁盘。