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