我认为这很简单,但花了很长时间试图解决这个问题。
我想将整数转换为字节字符串,并以十六进制格式显示。但我似乎得到了ascii表示?具体而言,对于122
的int值。
from struct import *
pack("B",122) #this returns b'z', what i need is 'b\x7A'
pack("B",255) #this returns b'\xff', which is fine.
我知道在python 2.x中你可以使用类似chr()
但不能在python 3中使用的东西,这就是我所拥有的。理想情况下,解决方案可以兼顾两者。
答案 0 :(得分:0)
您可以使用编解码器或字符串编码
codecs.encode(pack("B",122),"hex")
或
a = pack("B",122)
a.encode("hex")
答案 1 :(得分:0)
我认为你得到了你想要的结果,无论你用什么来看你的结果都会引起混乱。尝试运行此代码:
if (App::environment('local'))" exit scout
您会发现它按预期工作,并且没有断言。