在 Python 中执行 Ruby 的 array.pack 的等效方法

Equivelant way of performing Ruby's array.pack in Python

我有一个 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