标签: binaryfiles

使用python从大型二进制文件中删除一系列字符

我想从 python 中的二进制文件中修剪相同值的长序列。一种简单的方法是简单地读取文件并使用 re.sub 替换不需要的序列。这当然不适用于大型二进制文件。可以用 numpy 之类的东西来完成吗?

python numpy binaryfiles

3
推荐指数
1
解决办法
3723
查看次数

c中写入/读取二进制/文本之间的差异

我正在开发客户端发送/接收文件的客户端/服务器程序。这些文件可以是文本文件或二进制文件。但是,我不确定需要进行哪些更改(如果有)以适应任一文件类型。基本上我希望在服务器端读取/写入文件而不关心它是什么类型的文件,我希望能够在不检查它是什么类型的文件的情况下这样做。这样的代码会起作用吗?为什么或者为什么不?

服务器片段:

//CREATING/WRITING TO A FILE
//we are ready to begin reading data from the client, and storing it 
int fd = open(pathname, O_CREAT | O_WRONLY | O_EXCL, S_IRUSR | S_IWUSR);
while(nbytes < bytes)
{
    //only read the neccessary # of bytes: the remaining bytes vs max buffer size
    int min_buffer = (bytes - nbytes) < BUFFER_SIZE ? (bytes - nbytes) : BUFFER_SIZE;
    length = recv( client->client_socket, contents, min_buffer, 0);

    if(fd < 0) //the fd is bad, but we need …
Run Code Online (Sandbox Code Playgroud)

c sockets binaryfiles

3
推荐指数
1
解决办法
2389
查看次数

Git Merge - 二进制文件冲突解决

如何在 git 中的合并操作期间解决二进制文件冲突解决方案?这是我到目前为止所做的:

git checkout master
git fetch origin
git merge working_branch

... [Conflicts] ...

git status
...
Unmerged paths:
        both modified:   Path/file.dll
        ...
Run Code Online (Sandbox Code Playgroud)

我想保留 中的版本working_branch并丢弃master. 我该怎么做呢?

git binaryfiles git-merge merge-conflict-resolution git-merge-conflict

3
推荐指数
1
解决办法
5732
查看次数

如何二进制序列化器自定义类

我有这个自定义类:

public class MyClass
{ 
    private byte byteValue;
    private int intValue;
    private MyClass myClass1= null;
    private MyClass myClass2 = null;
}
Run Code Online (Sandbox Code Playgroud)

显然我也有构造函数和 get/set 方法。

在我的主窗体中,我初始化了很多MyClass对象(请注意,在MyClass对象中我引用了其他 2 个 MyClass 对象)。初始化后,我遍历第一MyClass项,例如将其称为“root”。所以,例如我做这样的事情:

MyClass myClassTest = root.getMyClass1();
MyClass myClassTest2 = myClassTest.getMyClass1();
Run Code Online (Sandbox Code Playgroud)

等等。

不,我想将所有MyClass对象存储在一个二进制文件中,以便在软件重新启动后再次获取它们。

我完全不知道如何做到这一点,有人可以帮助我吗?谢谢。

c# binary serialization binaryfiles deserialization

3
推荐指数
1
解决办法
9593
查看次数

用于二进制输出的 ostream_iterator

我希望能够使用ostream_iterator流式传输到二进制文件。但是ostream_iterator使用FormattedOuputFunction所以它会写 ASCII,而不是二进制:

std::ostream_iterator是一个单通道 OutputIterator,它使用类型将连续的对象写入构造它T的std::basic_ostream对象中,使用operator<<

除了编写我自己的迭代器之外,还有没有办法使用迭代器来编写二进制文件?

我正在尝试做的一个简化示例,但该copy语句会将 ASCII 写入我的二进制文件:

ofstream foo("foo.txt", ios_base::binary);
vector<int> bar = {13, 42};

copy(bar.cbegin(), bar.cend(), ostream_iterator<decltype(bar)::value_type>(foo));
Run Code Online (Sandbox Code Playgroud)

c++ file-io iterator fstream binaryfiles

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

如何使用 bash 命令将 csv 转换为二进制文件?

我有一个csv文件,它只是一个简单的逗号分隔的数字列表。我想将此csv文件转换为二进制文件(只是一个字节序列,每个解释的数字都是csv文件中的一个数字)。

我这样做的原因是能够从值的电子表格中导入音频数据。在我的导入中(我使用的是 audacity),我有几种格式可供选择用于二进制文件:

Encoding:
Signed 8, 24, 16, or 32 bit PCM
Unsigned 8 bit PCM
32 bit or 64 bit float
U-Law
A-Law
GSM 6.10
12, 16, or 24 bit DWVW
VOX ADPCM

Byte Order:
No endianness
Big endian
Little endian
Run Code Online (Sandbox Code Playgroud)

我正在沿着big endian 32-bit float使事情简单的路线前进。我想让事情尽可能简单,所以我认为bash这是最佳工具。

csv bash binaryfiles

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

如何使用邮递员将图像上传到 azure blob 存储

我一直在尝试使用邮递员将图像上传到我的 blob 容器文件夹这里是Azure 存储服务 REST API 的授权链接,用于生成签名并在正文中附加文件名文件字段。

var key = "[Storage account key]";
var strTime = (new Date()).toUTCString();
var strToSign = 'PUT\n\nimage/jpeg; charset=UTF-8\n\nx-ms-date:' + strTime + '\nx-ms-meta-m1:v1\nx-ms-meta-m2:v2\n/colony7/folder-customer-profilepic/Home - explorar.jpg';
var secret = CryptoJS.enc.Base64.parse(key);
var hash = CryptoJS.HmacSHA256(strToSign, secret);
var hashInBase64 = CryptoJS.enc.Base64.stringify(hash);
var auth = "SharedKey colony7:"+hashInBase64; 
Run Code Online (Sandbox Code Playgroud)

我使用过这些https://docs.microsoft.com/en-us/rest/api/storageservices/put-block,https://docs.microsoft.com/en-us/rest/api/storageservices/authentication-上面代码的 for-the-azure-storage-services 参考。

我也开启了cors。请分享有关如何使用邮递员将 jpg 或 png 图像上传到我的 blob 的解决方案。

提前致谢

rest blob binaryfiles azure azure-storage-blobs

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

解析 Julia 1.xx 中的无符号整数数组

我试图打开一个我对其内部结构有一些了解的二进制文件,并在 Julia 中正确地重新解释它。假设我可以通过以下方式加载它:

arx=open("../axonbinaryfile.abf", "r")  
databin=read(arx)  
close(arx)
Run Code Online (Sandbox Code Playgroud)

数据作为 UInt8 数组加载,我猜是字节。在前 4 个中,我可以执行一个简单的Char转换并且它有效:

head=databin[1:4]
map(Char, head)

4-element Array{Char,1}:
 'A'
 'B'
 'F'
 ' '
Run Code Online (Sandbox Code Playgroud)

然后碰巧在位置 13-16 是一个等待解释的 32 个字节的整数。我该怎么做?我试过reinterpret()和Int32作为功​​能,但无济于事。

parsing binaryfiles julia

3
推荐指数
1
解决办法
275
查看次数

如何检查两个可执行二进制文件是否是从相同的源代码生成的?

例如,我有两个 C 二进制可执行文件。如何确定两者是否使用相同的源代码生成?

c executable binaryfiles

3
推荐指数
1
解决办法
223
查看次数

使用 std::ifstream 读取二进制文件后 std::vector&lt;unsigned char&gt; 保持为空

这是我在 StackOverflow 上的第一个问题,所以如果我的问题中遗漏了任何内容或我没有遵循的某些规则,我会提前道歉。请编辑我的问题或在评论中告诉我我应该如何改进我的问题,谢谢。

我正在尝试std::vector<unsigned char>使用std::ifstream. 问题是文件似乎已成功读取,但向量仍为空。

这是我用于读取文件的函数:

void readFile(const std::string &fileName, std::vector<unsigned char> &fileContent)
{
    std::ifstream in(fileName, std::ifstream::binary);

    // reserve capacity
    in.seekg(0, std::ios::end);
    fileContent.reserve(in.tellg());
    in.clear();
    in.seekg(0, std::ios::beg);

    // read into vector
    in.read(reinterpret_cast<char *>(fileContent.data()), fileContent.capacity());

    if(in)
        std::cout << "all content read successfully: " << in.gcount() << std::endl;
    else
        std::cout << "error: only " << in.gcount() << " could be read" << std::endl;

    in.close();
}
Run Code Online (Sandbox Code Playgroud)

这就是我调用函数的方式main():

std::vector<unsigned char> buf;
readFile("file.dat", buf);
std::cout << "buf size: " …
Run Code Online (Sandbox Code Playgroud)

c++ binaryfiles ifstream stdvector

3
推荐指数
1
解决办法
76
查看次数