inconsistency in converting from/to hex
gandalf at shopzeus.com
Sat Nov 16 23:16:58 CET 2013
We can convert from hex str to bytes with bytes.fromhex class method:
>>> b = bytes.fromhex("ff")
But we cannot convert from hex binary:
>>> b = bytes.fromhex(b"ff")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: must be str, not bytes
We don't have bytes_instance.tohex() instance method.
But we have binascii.hexlify. But binascii.hexlify does not return an
str. It returns a bytes instance instead.
>>> import binascii
Its reverse function binascii.unhexlify can be used on str and bytes too:
* if we have bytes.fromhex() then why don't we have bytes_instance.tohex() ?
* if the purpose of binascii.unhexlify and bytes.fromhex is the same,
then why allow binary arguments for the former, and not for the later?
* in this case, should there be "one obvious way to do it" or not?
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the Python-list