我有以下文本二进制表示:“0x255044462D312E340D0A25FFFFFFF ......” 我知道这是一个pdf。 我知道这是来自sql server列的文本represantation(图像数据类型)。
但是我很想知道如何将这个二进制文件保存到我的磁盘上的pdf文件中并查看内容。
也许有人可以向我暗示正确的方向。
最好的问候和提前谢谢
答案 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文件转换为磁盘。