python - 在 Python 中执行 Ruby 的 array.pack 的等价方式
问题描述
我有一个看起来像这样的 Ruby 函数:
def domain_request
pkt = "0300000c02f0800400010001"
return [pkt].pack("H*")
end
基本上我想做的是在 Python 中执行相同的操作(如果您还可以提供对包格式的参考,将不胜感激)我试图从一个bytearray
但是,我对此感到茫然观点。任何帮助将不胜感激,谢谢。
解决方案
这看起来像你想要的
from binascii import unhexlify
str = "0300000c02f0800400010001"
unhexlify(str)
虽然 ruby 的输出看起来略有不同,但在 ruby 和 python 中比较这些都是正确的,这段代码在 python 和 ruby 中都有效:
s1 = "\x03\x00\x00\x0c\x02\xf0\x80\x04\x00\x01\x00\x01"
s2 = "\x03\x00\x00\f\x02\xF0\x80\x04\x00\x01\x00\x01"
s1 == s2 #=> true or True in python
推荐阅读
- php - 单击添加更多字段按钮后动态显示字段
- javascript - 使用 react 和 react-firebase-hooks 时的无限循环
- php - 发送 POST 请求以获取数据时 PHP cURL 不起作用
- python - 为什么我无法在我的 jupyter 笔记本上安装模块“nturl2path”?
- sql - 多个可为空的外键是一个糟糕的设计吗?
- javascript - JavaScript - 在没有用户干预的情况下停止重定向并获取目标 URL
- python - MinMaxScaler 仅生成正值
- mysql - MySQL 分区的预定截断
- rust - 如何在 Rust 中拒绝没有显式类型注释的 int 变量?
- authorization - Akka.Net:透明地传递上下文信息以进行审计/授权