问题标签 [bitstring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
665 浏览

django - Django, PostgreSQL - 如何在模型中表示 BitString 字段

我将 Django (1.6) 与 PostgreSQL (9.3.2) 后端用于我的 Web 应用程序。在我计划的 DB 模式中,我将有一个 128 位长的位字符串,表示在 4 个月内发生的事件。这个想法是,我可以通过简单地将字段组合在一起来找到各种事件之间的交叉点。我的问题是如何实现这一点。

到目前为止我遇到的一些发现:

请问我在这里有什么选择?如何在 Django 模型中表示 BitString 字段?

提前谢谢了!

0 投票
2 回答
1770 浏览

python - 将二进制时间戳转换为字符串

我正在尝试用 python 解析专有的二进制格式(Wintec NAL)。有现有的和工作的 C 代码可以做同样的事情(作者:Dennis Heynlein),我正在尝试将其移植到 Python。

我正在努力理解部分 C 代码。这是 C 中二进制格式的定义:

我正在使用 python-bitstring 在 Python 中复制此功能,但我很难理解上面给出的时间格式并将其应用于 Python。

虽然我发现必须将纬度和经度定义为小端,但我不知道如何调整 32 位宽的时间戳,以便它符合 C 定义中给出的格式(而且我也想不通“高度”的匹配掩码 - 相应地我没有尝试它之后的字段)。

这些是上面十六进制字符串的值:

  • 日期:2013/12/03-T05:42:31
  • 位置:73.3390583° E,33.2128666° N
  • 罗盘:195°,滚动 -2°,偏航 -7°
  • 海拔高度:458 米
  • 温度:13°C
  • 新闻:967 MB
0 投票
0 回答
222 浏览

python - Python 使用 BitString 模块解析图像 EXIF 数据

我一直在尝试使用 BitStream 模块解析 Tiff 和 Jpeg 图像 EXIF 数据,但无法全部完成。有没有人有更好的使用它的运气?如果是这样,你能指点我吗,或者你能分享任何示例片段吗?

我花了很长时间查看和测试现有的 Python EXIF 模块,到目前为止,它们似乎都不完整,无法完全解析当前的 EXIF 图像数据。

我还查看了基于 Perl 的 EXIFTool,它是一个非常完整的工具,但是当从 Python shell 调用时,它比调用本机 Python 代码来做同样的事情要慢 10 倍。

这个 BitStream 模块看起来真的是用来解析二进制数据的 Python 工具。

然而,现在学习曲线非常陡峭。

我遇到的最大问题是所有 EXIF Image Spec 文档都与我在使用 BitStream 解析图像时所看到的不匹配。

感觉我离这里越来越近了,但可以使用一些其他人的一些建议或代码片段,这些人已经花时间使用 BitStream 和 Python 解析图像文件 EXIF 标头,以使其重回正轨。

0 投票
5 回答
407 浏览

erlang - 除了 Erlang,还有其他语言支持位串吗?

我经常处理使用某种类型的 COMMAND|LENGTH|PARAMETERS 结构交换信息的“二进制”协议,其中 PARAMETERS 是任意数量的 TAG|LENGTH|VALUE 元组。Erlang 通过模式匹配来提取消息中的值,例如:

M = <<1, 4, 1, 2, 16#abcd:16>>. <<1,4,1,2,171,205>>

使用 M 位串(遵循 COMMAND|LENGTH|PARAMETERS 格式的消息),我可以利用 Erlang 模式匹配来提取命令、长度、参数:

<<Command:8,Length:8,Parameters/binary>> = M. <<1,4,1,2,171,205>> Parameters. <<1,2,171,205>>

对于管理面向“位半字节”的协议,这是无价的!

是否有任何其他语言接近支持这样的语法,即使通过附加库也是如此?

0 投票
2 回答
1146 浏览

java - 自定义 BitString 类中的 Java 方法

对于分配,我们假设修改自定义 BitString 类。我们需要实际编写代码的函数超过 10 个,而我被困在第一个函数上。这是该类的开始部分以及我尝试使用的一些方法:

下面是我正在处理的方法(给出的唯一部分是方法和输入类型)我无法调用bits.set()bits.clear()他们正在执行的相同操作。编译时我得到

错误:无法对非静态字段位进行静态引用

在两个方法调用上。

谢谢你的帮助。

0 投票
2 回答
2487 浏览

python - 使用python将比特流保存到文件中

我需要将 h.265(或 hevc,相同)位流输出到 python 中的 str 文件中。

我有一个比特流文件,我从该文件中选择一些数据以将其保存到新文件中。我使用位模块来处理位流文件。

编辑:我的问题是如何创建一个新的比特流文件并将数据插入其中。

0 投票
1 回答
93 浏览

visual-c++ - breaking up a bitstring c++

ok so I'm trying to do a Huffman encoding/decoding project atm. I have all of the compression working and tried to put the bitstring as a byte onto an output file. So I made a sample code to test with a small example to see how that would work. With code below I can correctly output the first 8 bits ("11100011") but then second time around I get 16 bits ("110001010101010"). Could someone hint where I went wrong? Thank you very much ahead of time.

Given: string bitstring = "11100011110001010101010"; unsigned char byte = 0;

#xA;

also I'm using visual studio.

*EDIT: Fixed

0 投票
2 回答
263 浏览

performance - efficient way to find set membership

I am working with 2^n vector e.g. n=3 the possible values are:

000, 001, 010, 011, 100, 101, 110, 111

I would like to find what is the most efficient way, given the set of combinations say

000, 000, 001, 100, 000, 110, 000, 110

how to find if a given value is in the possible set.

One way would be to go through the entire list (brute force). Another would be to use any of the classic search methods e.g. binary search etc for log_2(n) +1

Another method would be to use Bloom filters, although this is a probabilistic method

I want to know if there's anything else out there, that given a list of bit strings, to efficiently test for its membership.

0 投票
1 回答
5898 浏览

c++ - c++ 位串转字节

对于作业,我正在 Visual Studio 中对 Huffman 算法进行压缩/解压缩。在获得 8 位(10101010例如)后,我想将其转换为字节。这是我的代码:

前几个位串作为一个字节正确输出,但是如果我有超过 3 个字节被推送,我会多次获得相同的字节。我不熟悉位操作,并要求有人带我完成这个或完成一个工作功能。

0 投票
3 回答
1790 浏览

python - Numpy:检查数组中的某个位是否设置为1或0?

假设如下:

如何找出 256 位中的哪一个设置为 1?我有这个……但这太疯狂了,不是吗?

我相信答案可能非常简单,但谷歌根本没有帮助,这个相关问题仅指 bytes

由于我需要数十亿次执行此操作,我想知道是否有一种 Pythonic 方法可以使其尽可能快地工作。