标签: binary-data

在C#中将大文件读入字节数组的最佳方法是什么?

我有一个Web服务器,它将大型二进制文件(几兆字节)读入字节数组.服务器可能同时读取多个文件(不同的页面请求),所以我正在寻找最优化的方法来做到这一点,而不会对CPU造成过多的负担.下面的代码是否足够好?

public byte[] FileToByteArray(string fileName)
{
    byte[] buff = null;
    FileStream fs = new FileStream(fileName, 
                                   FileMode.Open, 
                                   FileAccess.Read);
    BinaryReader br = new BinaryReader(fs);
    long numBytes = new FileInfo(fileName).Length;
    buff = br.ReadBytes((int) numBytes);
    return buff;
}
Run Code Online (Sandbox Code Playgroud)

.net c# bytearray binary-data

377
推荐指数
6
解决办法
46万
查看次数

181
推荐指数
9
解决办法
7万
查看次数

保留磁盘上的numpy数组的最佳方法

我正在寻找一种快速保存大型numpy数组的方法.我想以二进制格式将它们保存到磁盘,然后相对快速地将它们读回内存.不幸的是,cPickle还不够快.

我找到了numpy.saveznumpy.load.但奇怪的是,numpy.load将npy文件加载到"memory-map"中.这意味着定期操作数组确实很慢.例如,像这样的东西会非常慢:

#!/usr/bin/python
import numpy as np;
import time; 
from tempfile import TemporaryFile

n = 10000000;

a = np.arange(n)
b = np.arange(n) * 10
c = np.arange(n) * -0.5

file = TemporaryFile()
np.savez(file,a = a, b = b, c = c);

file.seek(0)
t = time.time()
z = np.load(file)
print "loading time = ", time.time() - t

t = time.time()
aa = z['a']
bb = z['b']
cc = z['c']
print "assigning time = ", time.time() - t; …
Run Code Online (Sandbox Code Playgroud)

python numpy pickle binary-data preserve

116
推荐指数
6
解决办法
8万
查看次数

如何在XML中嵌入二进制数据?

我有两个用Java编写的应用程序,它们通过网络使用XML消息相互通信.我在接收端使用SAX解析器从消息中取出数据.其中一个要求是将二进制数据嵌入XML消息中,但SAX不喜欢这样.有谁知道如何做到这一点?

更新:我使用apache commons编解码器库中Base64类,以防其他人尝试类似的东西.

java xml binary binary-data

106
推荐指数
7
解决办法
10万
查看次数

帮助逆向工程二进制文件格式的工具

有哪些工具可以帮助解码未知的二进制数据格式?

我知道Hex Workshop和010 Editor都支持结构.对于已知的固定格式,这些在一定程度上是可以的,但是对于任何更复杂的东西都很难使用,特别是对于未知格式.我想我正在寻找一个脚本语言或可编写脚本的GUI工具的模块.

例如,我希望能够从有限的已知信息中找到数据块内的结构,这可能是一个神奇的数字.一旦我找到了一个结构,然后按照已知的长度和偏移字来寻找其他结构.然后以有意义的方式递归和迭代地重复此操作.

在我的梦想中,甚至可能根据我已经告诉系统的内容自动识别可能的偏移量和长度!

binary file-format reverse-engineering binary-data

77
推荐指数
6
解决办法
6万
查看次数

二进制数据发布与卷曲

所以基本上,我正在尝试编写一系列与Dot Net Nuke交互的脚本.我一直在分析流量,现在可以登录并执行一些基本任务.但是,我从未使用curl处理二进制文件上传.有人愿意看这个来帮助我吗?这是请求的解剖:

http://pastebin.com/qU8ZEMaQ

这是我到目前为止卷曲的原因:

http://pastebin.com/LG2ubFZG

编辑:对于懒惰 -

实现文件的长度并存储在LENGTH中 .Bullshit只是带参数的请求URL的复制/粘贴,减去URL本身.

curl -L --cookie ~/.cms --data-binary "@background.jpg" \
--header "Content-Length: $LENGTH" \
--header "Content-Disposition: form-data" \
--header "name=\"RadFileExplorer1_upload1file0\"" \
--header "Content-Type: image/jpg" \
--header "Filename=\"background.jpg\"" \
--data $STUFF \
--referer "Kept-Secret" \
"Kept-Secret"
Run Code Online (Sandbox Code Playgroud)

bash post curl dotnetnuke binary-data

47
推荐指数
1
解决办法
12万
查看次数

如何使用javascript从Web服务返回的二进制字符串构建PDF文件

我试图从二进制流构建一个PDF文件,我收到它作为Ajax请求的响应.

通过XmlHttpRequest我收到以下数据:

%PDF-1.4....
.....
....hole data representing the file
....
%% EOF
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试的是通过嵌入我的数据data:uri.现在,它没有任何问题,它工作正常.不幸的是,它在IE9和Firefox中不起作用.可能的原因可能是FF和IE9在使用时遇到了问题data-uri.

现在,我正在寻找适用于所有浏览器的解决方案.这是我的代码:

// responseText encoding 
pdfText = $.base64.decode($.trim(pdfText));

// Now pdfText contains %PDF-1.4 ...... data...... %%EOF

var winlogicalname = "detailPDF";
var winparams = 'dependent=yes,locationbar=no,scrollbars=yes,menubar=yes,'+
            'resizable,screenX=50,screenY=50,width=850,height=1050';

var htmlText = '<embed width=100% height=100%'
                     + ' type="application/pdf"'
                     + ' src="data:application/pdf,'
                     + escape(pdfText)
                     + '"></embed>'; 

                // Open PDF in new browser window
                var detailWindow = window.open ("", winlogicalname, winparams);
                detailWindow.document.write(htmlText);
                detailWindow.document.close();
Run Code Online (Sandbox Code Playgroud)

正如我所说,它适用于Opera和Chrome(Safari尚未经过测试).使用IE或FF将显示一个空白的新窗口.

是否有任何解决方案,如在文件系统上构建PDF文件,以便让用户下载它?我需要适用于所有浏览器的解决方案,至少在IE,FF,Opera,Chrome和Safari中.

我无权编辑Web服务实现.所以它必须是客户端的解决方案.有任何想法吗?

javascript pdf jquery cross-browser binary-data

46
推荐指数
4
解决办法
9万
查看次数

使用C++/STL存储二进制数据的"正确"方法

一般来说,在C++中存储二进制数据的最佳方法是什么?据我所知,这些选项很大程度上归结为使用字符串或向量<char> s.(我将省略char*s和malloc()的可能性,因为我特指C++).

通常我只是使用一个字符串,但是我不确定是否存在我缺少的开销,或者STL在内部进行的转换可能会破坏二进制数据的完整性.有没有人对此有任何指针(har)?这样或那样的建议或偏好?

c++ stl binary-data

45
推荐指数
3
解决办法
4万
查看次数

如何使用java在mongoDB中插入图像?

我想将图像文档存储在mongoDB中.
我正在使用java.

任何链接或建议将不胜感激.

java persistence image binary-data mongodb

41
推荐指数
2
解决办法
3万
查看次数

您会将二进制数据存储在数据库或文件系统中吗?

这是一个之前被问过的问题(大文本和图像在sql中),但主要用于将要更改的数据.在我的情况下,数据将被存储并且永远不会改变.把所有东西放在一起似乎是明智的.

我有什么理由不将静态二进制数据存储在数据库中吗?

假设这是一件明智的事情,将这些数据存储在单独的表中是否有任何好处?(你可能现在开始意识到我不是数据库专家......)

澄清:可能会有不超过10-20个用户,但这些用户将在美国和英国.在任何情况下都必须传输二进制数据.

database binary-data

40
推荐指数
6
解决办法
4万
查看次数