Questions tagged «binary»

二进制(以2为底的数字系统)使用两个符号表示数字:0和1。对于已编译的计算机程序,请改用“ executable”标记。

6
用python读取二进制文件
我发现用Python读取二进制文件特别困难。你能帮我个忙吗?我需要读取此文件,在Fortran 90中,该文件很容易被读取 int*4 n_particles, n_groups real*4 group_id(n_particles) read (*) n_particles, n_groups read (*) (group_id(j),j=1,n_particles) 详细而言,文件格式为: Bytes 1-4 -- The integer 8. Bytes 5-8 -- The number of particles, N. Bytes 9-12 -- The number of groups. Bytes 13-16 -- The integer 8. Bytes 17-20 -- The integer 4*N. Next many …
104 python  binary  fortran 

7
读写二进制文件
我正在尝试编写代码以将二进制文件读取到缓冲区中,然后将缓冲区写入另一个文件中。我有以下代码,但是缓冲区仅存储文件第一行中的几个ASCII字符,除此之外没有其他内容。 int length; char * buffer; ifstream is; is.open ("C:\\Final.gif", ios::binary ); // get length of file: is.seekg (0, ios::end); length = is.tellg(); is.seekg (0, ios::beg); // allocate memory: buffer = new char [length]; // read data as a block: is.read (buffer,length); is.close(); FILE *pFile; pFile = fopen ("C:\\myfile.gif", "w"); …
103 c++  file  binary  buffer 

16
按位操作和用法
考虑以下代码: x = 1 # 0001 x << 2 # Shift left 2 bits: 0100 # Result: 4 x | 2 # Bitwise OR: 0011 # Result: 3 x & 1 # Bitwise AND: 0001 # Result: 1 我可以用Python(和其他语言)理解算术运算符,但是我对“按位”运算符却不太了解。在上面的示例(来自Python书)中,我了解了左移功能,但不了解其他两个。 另外,按位运算符实际上是做什么用的?我会喜欢一些例子。

6
比较两个字节数组?(Java)
我有一个带有〜已知二进制序列的字节数组。我需要确认二进制序列是应该的。.equals除了==,我还尝试了其他方法,但均无济于事。 byte[] array = new BigInteger("1111000011110001", 2).toByteArray(); if (new BigInteger("1111000011110001", 2).toByteArray() == array){ System.out.println("the same"); } else { System.out.println("different'"); }
96 java  binary 

8
二进制协议v。文本协议
有谁对二进制协议有一个很好的定义?文本协议实际上是什么?这些在导线上发送的比特之间如何比较? 维基百科对二进制协议的评论如下: 二进制协议是一种旨在或有望由机器而非人类读取的协议(http://en.wikipedia.org/wiki/Binary_protocol) 哦,加油! 更清楚地说,如果我有jpg文件,该文件将如何通过二进制协议发送,如何通过文本协议发送?当然是通过电线发送的比特/字节数。 归根结底,如果您查看一个字符串,它本身就是一个字节数组,因此这两种协议之间的区别应该取决于网上实际发送的数据。换句话说,关于原始数据(jpg文件)在发送之前如何编码。
94 text  binary  protocols 

9
(((a +(b&255))&255)与((a + b)&255)是否相同?
我在浏览一些C ++代码,发现了以下内容: (a + (b & 255)) & 255 双重AND惹恼了我,所以我想到了: (a + b) & 255 (a和b是32位无符号整数) 我迅速编写了一个测试脚本(JS)来确认我的理论: for (var i = 0; i < 100; i++) { var a = Math.ceil(Math.random() * 0xFFFF), b = Math.ceil(Math.random() * 0xFFFF); var expr1 = (a + (b & 255)) & 255, expr2 = …
92 c++  binary  logic 

13
如何将字节转换为其二进制字符串表示形式
例如,一个字节B中的位是10000010,如何将这些位str从字面上分配给字符串,即str = "10000010"。 编辑 我从二进制文件中读取字节,并将其存储在字节数组中B。我用System.out.println(Integer.toBinaryString(B[i]))。问题是 (a)当位以(最左边)1开头时,输出不正确,因为它转换B[i]为负int值。 (b)如比特首先0,输出忽略0,例如,假设B[0]有00000001,则输出为1代替00000001
92 java  binary  byte 

8
为什么不使用base128?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 去年关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 为什么只有base64而不是base128用于在Web上传输二进制数据?ASCII字符集具有128个字符,理论上可以表示基数为128,但大多数情况下仅使用base64,而不使用base128。

9
如何从git存储库中删除未使用的对象?
我最近一次提交到Git存储库时,不小心添加,提交并推送了一个巨大的二进制文件。 如何让Git删除为该提交创建的对象,以便.git目录再次缩小到合理的大小? 编辑:感谢您的回答;我尝试了几种解决方案。没有工作。例如,来自GitHub的那个已从历史记录中删除了文件,但.git目录大小并未减小: $ BADFILES=$(find test_data -type f -exec echo -n "'{}' " \;) $ git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch $BADFILES" HEAD Rewrite 14ed3f41474f0a2f624a440e5a106c2768edb67b (66/66) rm 'test_data/images/001.jpg' [...snip...] rm 'test_data/images/281.jpg' Ref 'refs/heads/master' was rewritten $ git log -p # looks nice $ rm -rf .git/refs/original/ $ git …
89 git  file  object  binary 


10
在Java中如何在位级别内部表示整数?
我试图了解Java如何在内部存储整数。我知道所有Java基本整数都是带符号的(短符号除外?)。这意味着该字节的字节数少了一位。 我的问题是,是否所有整数(正数和负数)都存储为二进制补码,或者仅是负数在二进制补码中? 我看到规格说明了x bit two's complement number。但是我经常感到困惑。 例如: int x = 15; // Stored as binary as is? 00000000 00000000 00000000 00001111? int y = -22; // Stored as two complemented value? 11111111 11111111 11111111 11101010 编辑 要清楚一点 x = 15 In binary as is: `00000000 00000000 00000000 00001111' Two's …

8
将二进制转换为ASCII,反之亦然
使用以下代码获取字符串并将其转换为二进制: bin(reduce(lambda x, y: 256*x+y, (ord(c) for c in 'hello'), 0)) 输出: 0b110100001100101011011000110110001101111 如果我将其放到该站点(位于右侧站点)中,则会得到hello回我的消息。我想知道它使用什么方法。我知道我可以将二进制字符串拼接成8,然后将其与相应的值进行匹配bin(ord(character))或以其他方式进行匹配。真正在寻找更简单的东西。
82 python  binary  ascii 

6
在Python中从二进制文件读取整数
我正在尝试在Python中读取BMP文件。我知道前两个字节表示BMP公司。接下来的4个字节是文件大小。当我执行时: fin = open("hi.bmp", "rb") firm = fin.read(2) file_size = int(fin.read(4)) 我得到: ValueError:以10为底的int()的无效文字:'F#\ x13' 我想做的是将这四个字节读取为整数,但是Python似乎将它们读取为字符并返回一个字符串,该字符串无法转换为整数。如何正确执行此操作?
82 python  file  binary  integer 

8
帮助逆向工程二进制文件格式的工具
哪些工具可用来帮助解码未知的二进制数据格式? 我知道Hex Workshop和010 Editor都支持结构。对于已知的固定格式,这在一定程度上是可以的,但是很难用于更复杂的事物,尤其是对于未知格式。我想我正在寻找脚本语言或可脚本化GUI工具的模块。 例如,我希望能够从有限的已知信息(也许是幻数)中找到数据块中的结构。找到结构后,请按照已知的长度和偏移量单词查找其他结构。然后在有意义的地方递归和迭代地重复此操作。 在我的梦中,甚至可能根据我已经告诉系统的内容自动识别可能的偏移量和长度!

4
如何将二进制数据附加到node.js中的缓冲区
我有一些二进制数据的缓冲区: var b = new Buffer ([0x00, 0x01, 0x02]); 我想追加0x03。 如何附加更多二进制数据?我正在搜索文档,但是要附加数据,它必须是字符串,否则,将发生错误(TypeError:Argument必须是string): var b = new Buffer (256); b.write ("hola"); console.log (b.toString ("utf8", 0, 4)); //hola b.write (", adios", 4); console.log (b.toString ("utf8", 0, 11)); //hola, adios 然后,我在这里看到的唯一解决方案是为每个附加的二进制数据创建一个新缓冲区,并将其复制到具有正确偏移量的主缓冲区中: var b = new Buffer (4); //4 for having a nice printed buffer, …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.