如何转换 Perl 的包“Nc*” Python 的 struct.pack 格式?
我正在尝试将 Perl 脚本转换为 python,它使用了很多不同的包。我已经能够找出每个“模板”中的字母差异,但我在理解如何处理 Perl 缺乏长度声明方面遇到了问题。
示例:
pack('Nc*',$some_integer,$long_array_of_integers);
我在 Python 上的 struct.pack 中没有看到与此“*”功能类似的内容。关于如何将其转换为 Python 有什么想法吗?
I'm trying to convert a Perl script to python, and it uses quite a few different packs. I've been able to figure out the lettering differences in the "templates" for each one, but I'm having an issue with understanding how to handle Perl's lack of length declaration.
example:
pack('Nc*',$some_integer,$long_array_of_integers);
I don't see an analog for this "*" feature in struct.pack, on Python. Any ideas on how to convert this to Python?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这个怎么样?
How about this?
Perl 的包使用类似于正则表达式中的“*”字符——表示更多相同内容的通配符。当然,这里意味着更多的有符号整数。
在 Python 中,您只需循环遍历字符串并连接各个部分:
Perl's pack is using the '*' character similar to in regular expressions--meaning a wildcard for more of the same. Here, of course, it means more signed ints.
In Python, you'd just loop through the string and concat the pieces: