标签: binaryfiles

如何将PDF二进制文件转换为ASCII/ANSI,以便在文本编辑器中查看?

大多数PDF在某些ASCII之间包含许多二进制外观部分.但是我记得还看过这样的PDF文件,其中大部分的二进制文件都没有,人们可以在文本编辑器中打开它们来研究它们的结构.

是否有将二进制PDF部分转换为ASCII/ANSI的技巧,工具或命令?(最好是"像啤酒一样自由",甚至"像在自由中一样自由")

pdf binaryfiles

11
推荐指数
1
解决办法
8104
查看次数

使用Python解析二进制文件

作为一个副项目,我想尝试解析二进制文件(特别是Mach-O文件).我知道已存在的工具(otool),所以请考虑这是一个学习练习.

我遇到的问题是我不明白如何将发现的二进制元素转换为python表示.例如,Mach-O文件格式以标题开头,标题由C Struct定义.第一项是uint_32'魔数'字段.当我做

magic = f.read(4)
Run Code Online (Sandbox Code Playgroud)

我明白了

b'\xcf\xfa\xed\xfe'
Run Code Online (Sandbox Code Playgroud)

这开始对我有意义.它实际上是一个4字节的字节数组.但是我想把它当作一个4字节的int来表示原始的幻数.另一个例子是numberOfSections字段.我只想要由4字节字段表示的数字,而不是文字字节数组.

也许我正在考虑这一切都错了.有没有人在做类似的事情?我是否需要编写函数来查看这些4字节字节数组并移位并组合它们的值以产生我想要的数字?恩赐会让我在这里搞砸吗?任何指针都会非常有用.

python binaryfiles

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

Git标记文件为二进制文件以避免行分隔符转换

我有一个带有示例数据的文本文件,我想把它放在Git控件下(在Windows上).我如何告诉Git将此文件视为二进制文件,因此它不会转换行分隔符(例如存储库中的其他/文本文件).

git binaryfiles

11
推荐指数
3
解决办法
6984
查看次数

有没有办法直接更改二进制文件的SONAME?

我的程序依赖于libcurl.so.3,但在RHEL6中,没有像这样的软件libcurl.so.3 ? libcurl.so.4(当我创建此链接时,我的程序可以顺利运行).但是有这样一个软链接:libcurl.so ? libcurl.so.4.

我想修改SONAMElibcurl.so.3.0.0.0直接libcurl.so.3libcurl.so.然后我可以在RHEL 6上运行我的程序,而无需自己创建软链接.

也许我的解决方案很愚蠢,但我认为学习如何直接修改二进制文件是一件有趣的事情.

Tahnk你的评论,devnull.也许我没说清楚.

$ readelf -d libcurl.so.3.0.0

偏移量0x303cc处的动态段包含25个条目:

标签类型名称/值

0x00000001(NEEDED)共享库:[libssl.so.2]

0x0000000e(SONAME)库soname:[ libcurl.so.3 ] --->我想将此更改为libcurl.so

linux linker binaryfiles shared-libraries libcurl

11
推荐指数
2
解决办法
4903
查看次数

在Nim中写/读二进制文件

在Nim中编写和读取二进制文件的最佳方法是什么?我想将交替的浮点数和整数写入二进制文件,然后能够读取该文件.要用Python编写这个二进制文件,我会做类似的事情

import struct

# list of alternating floats and ints
arr = [0.5, 1, 1.5, 2, 2.5, 3]

# here 'f' is for float and 'i' is for int    
binStruct = struct.Struct( 'fi' * (len(arr)/2) ) 
# put it into string format
packed = binStruct.pack(*tuple(arr))

# open file for writing in binary mode
with open('/path/to/my/file', 'wb') as fh:
  fh.write(packed)
Run Code Online (Sandbox Code Playgroud)

要阅读我会做的事情

  arr = []
  with open('/path/to/my/file', 'rb') as fh:
    data = fh.read()
    for i in range(0, len(data), 8):
      tup = binStruct.unpack('fi', …
Run Code Online (Sandbox Code Playgroud)

io binaryfiles nim-lang

11
推荐指数
1
解决办法
2932
查看次数

通过AWS API Gateway发布表单数据和二进制数据

我正试图通过AWS API Gateway将"mutlipart\form-data"发布到我的EC2实例,但我找不到办法.有一种方法可以使用"application/x-www-form-urlencoded"和Mapping Tamplate将数据转换为JSON,但仍然会发布像图像文件这样的二进制数据.有什么我想念的吗?

编辑:

我找到了另一种方式:

我将图像转换为base64字符串然后将其POST为内容类型"application/x-www-form-urlencoded".通过这种方式,我将整个图像作为字符串发送.收到消息后,我可以将其转换回PHP中的图像.只有这一点,我能找到的是当我将图像转换为base64时,它的大小会变得更大.除此之外,我找不到任何其他的缺点.如果有可能请与我分享?

post base64 binaryfiles multipartform-data aws-api-gateway

11
推荐指数
1
解决办法
8304
查看次数

Spring上传非多部分文件作为流

我正在使用 Spring Boot 1.2.5,我想将原始二进制文件上传到控制器。文件大小可能很大,所以我不想将整个请求保存在内存中,而是流式传输文件,实际上文件是在传输开始时生成的,因此客户端甚至不知道文件的大小。我在此处看到了一个示例,说明如何使用多部分编码文件上传执行类似操作。但是,我不想要分段编码的上传,只需要原始字节流。我似乎找不到在春季处理这个用例的方法。

spring file-upload binaryfiles spring-boot

11
推荐指数
2
解决办法
8156
查看次数

C# - 如何读写二进制文件?

如何从任何文件中读取原始字节数组,并将该字节数组写回新文件?

c# vb.net binaryfiles filestream

10
推荐指数
2
解决办法
9866
查看次数

将文件以位形式写入C中的文件

我在C中实现了霍夫曼算法.我已经获得了基本功能,直到获得二进制代码字.所以例如,abcd将是100011000或类似的东西.现在的问题是如何在压缩文件中以二进制形式编写此代码.我的意思是如果我正常写它每1和0将是一个字符,所以没有压缩.

我需要用它们的位形式写出1和0.这是可能的C.如果是这样的话怎么样?

c bit-manipulation binaryfiles huffman-code

10
推荐指数
1
解决办法
7342
查看次数

便携式C二进制序列化原语

据我所知,C库没有帮助将数值序列化为非文本字节流.如我错了请纠正我.

最常用的标准工具是htonlPOSIX等.这些功能有缺点:

  • 没有64位支持.
  • 没有浮点支持.
  • 签名类型没有版本.反序列化时,无符号到符号的转换依赖于有符号整数溢出,即UB.
  • 它们的名称没有说明数据类型的大小.
  • 它们依赖于8位字节和精确大小的uint_ N _t的存在.
  • 输入类型与输出类型相同,而不是引用字节流.
    • 这要求用户执行指针类型转换,这可能在对齐时不安全.
    • 执行该类型转换后,用户可能会尝试在其本机内存布局中转换和输出结构,这种做法很糟糕,导致意外错误.

用于将任意大小序列化为char8位标准字节的接口将落在C标准之间,该标准不真正确认8位字节,并且无论标准(ITU?)将八位位组设置为基本传输单位.但旧的标准没有得到修订.

现在C11有许多可选组件,可以添加二进制序列化扩展以及线程之类的东西,而不需要对现有实现提出要求.

这样的扩展是否有用,或者担心非二进制补充机器是否毫无意义?

c portability binaryfiles endianness htonl

10
推荐指数
1
解决办法
2183
查看次数