Tag: 二进制

如何比较二进制文件来检查它们是否相同?

什么是最简单的方法(在Ubuntu Linux上使用graphics工具或命令行)来了解两个二进制文件是否相同(时间戳除外)? 我不需要真正提取差异。 我只需要知道他们是否相同。

为什么Git把这个​​文本文件当作一个二进制文件?

我想知道为什么git告诉我:? $ git diff MyFile.txt diff –git a/MyFile.txt b/MyFile.txt index d41a4f3..15dcfa2 100644 Binary files a/MyFile.txt and b/MyFile.txt differ 他们不是文本文件吗? 我检查了.gitattributes,它是空的。 为什么我收到这个消息? 我不能再使用差异了 添加: 我注意到文件权限有一个@ ,这是什么? 这可能是原因吗? $ls -all drwxr-xr-x 5 nacho4d staff 170 28 Jul 17:07 . drwxr-xr-x 16 nacho4d staff 544 28 Jul 16:39 .. -rw-r–r–@ 1 nacho4d staff 6148 28 Jul 16:15 .DS_Store […]

转换为二进制文件并保持Python中前导零

我试图使用Python中的bin()函数将整数转换为二进制。 但是,它总是删除我实际需要的前导零,使得结果始终为8位: 例: bin(1) -> 0b1 # What I would like: bin(1) -> 0b00000001 有没有办法做到这一点?

如何将“二进制string”转换为Python3中的正常string?

例如,我有一个像这样的string( subprocess.check_output返回值): >>> b'a string' b'a string' 不pipe我做了什么,它总是用麻烦的b'打印在string之前: >>> print(b'a string') b'a string' >>> print(str(b'a string')) b'a string' 有没有人有任何想法如何使用它作为一个正常的string或将其转换为一个正常的string?

在Windows中比较2个二进制文件的工具

我需要一个比较2个二进制文件的工具。 这些文件相当大。 我在互联网上发现的一些免费软件或试用工具不方便用于大文件。 你能推荐我什么工具吗?

((a +(b&255))&255)与((a + b)&255)相同吗?

我正在浏览一些C ++代码,发现这样的东西: (a + (b & 255)) & 255 双烦恼我,所以我想到: (a + b) & 255 ( a和b是32位无符号整数) 我很快写了一个testing脚本(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 = (a + b) & […]

将一个int转换为Java中的二进制string表示forms?

在Java中将int转换为二进制string表示的最好方法是什么(理想情况下最简单)? 例如,说int是156.这个的二进制string表示将是“10011100”。

用于非常大的文件的二进制比较工具?

我需要一个实用程序来区分两个二进制文件。 文件很大(6-50 GB)。 注意:这里需要特别指出:绝大多数diff程序通过将文件映射到其虚拟地址空间来工作。 在32位Windows上,这将可比较的文件大小限制在1 GB以下。 (如果Windows使用/ 3GB开关运行,则为1.5 GB,并且程序已经宣称它为3 GB; / LARGEADDRESSAWARE)。 如果一个程序坚持把文件全部映射到它的地址空间的技术,那么它必须被重新编译为一个64位的应用程序,它具有8TB的地址空间(这符合我的要求) Beyond Compare是我最喜欢的diff工具,我拥有它,但是它不能处理二进制文件,而不能处理进程地址空间中的内容。 HexDiff 3.0似乎很有趣,除了试用版本不做差异。 该工具应该是免费的,因为我不付钱来弄清楚它不起作用。 该工具应该是一个Windows应用程序。 该工具不应该是基于控制台的(即,Windows应用程序) 该工具应该是graphics化的(即Windows应用程序)

如何在Ruby中将string或整数转换为二进制文件?

你如何创build整数0..9和math运算符+ – * / in到二进制string。 例如: 0 = 0000, 1 = 0001, … 9 = 1001 有没有办法使用Ruby 1.8.6而不使用库?

我们为什么要使用Base64?

维基百科说 Base64编码scheme通常用于需要对需要存储和传输的二进制数据进行编码以处理文本数据的介质。 这是为了确保数据在运输过程中保持完整无需修改。 但是不是数据总是以二进制forms存储/传输,因为我们的机器存储二进制文件的内存,这取决于你如何解释它? 因此,无论您将位模式010011010110000101101110编码为ASCII为Man还是在Base64中编码为TWFu ,您最终都将存储相同的位模式。 如果最终的编码是以零和1来表示的,而每一台机器和媒体都可以处理这些编码,那么数据是以ASCII还是Base64来表示,怎么样? 这是什么意思是“旨在处理文本数据的媒体”? 他们可以处理二进制=>他们可以处理任何事情。 谢谢大家,我想我现在明白了。 当我们发送数据时,我们不能确定数据将被解释为与我们预期的相同的格式。 所以我们发送双方都知道的某种格式的数据(比如Base64)。 这样,即使发送者和接收者以不同的方式解释相同的事物,但是因为他们对编码格式达成一致,数据也不会被错误地解释。 从马克·拜尔例子 如果我想发送 Hello world! 一种方法是像ASCII一样发送它 72 101 108 108 111 10 119 111 114 108 100 33 但是字节10可能不会被正确解释为另一端的换行符。 所以,我们使用ASCII的一个子集来对它进行编码 83 71 86 115 98 71 56 115 67 110 100 118 99 109 120 107 73 61 61 以相同数量的信息传输更多的数据为代价,即使接收者碰巧对字符集的其余部分有不同的解释,也能确保接收者能够以预定的方式解码数据。