s.encode(" hex")和binascii.hexlify(s)是否相同?

时间:2018-05-07 08:18:33

标签: python string python-2.7

binascii.(un)hexlify().en(de)code("hex")似乎都在字符串十六进制值的字符串表示形式之间转换,字符串本身。我看到的唯一区别是需要导入binascii模块。

我真的很擅长使用十六进制表示法,所以我想问这些是否真的相同,或者是否有更深层次的东西我不知道。

以下两种情况都会返回True,但这并不意味着它们总是等效的。

'hello'.encode("hex")      == binascii.hexlify('hello')         # either returns '68656c6c6f'

'68656c6c6f'.decode("hex") == binascii.unhexlify('68656c6c6f')  # either returns 'hello'

编辑根据@ sideshowbarker的评论,this answer说:

  

在Python 3中,您不能再对8位字符串调用encode(),因此十六进制编解码器变得毫无意义并被删除。

这些在Python-2.7中仍然相同吗?我实际上并不知道如何生成7位和8位字符串,因此我不确定如何自己测试。

0 个答案:

没有答案