urls one hot convert categorical python-3.x hex encode

python-3.x - one - python categorical to numeric



codificación python() (1)

¿Se ha excluido el códec hexadecimal de Python 3.3? Cuando escribo el código

>>> s="Hallo" >>> s.encode(''hex'') Traceback (most recent call last): File "<pyshell#24>", line 1, in <module> s.encode(''hex'') LookupError: unknown encoding: hex

Qué significa eso? Sé sobre binascii.hexlify () pero aún el método .encode () es bueno! ¿Cualquier sugerencia?


No, usar encode() para hexlify no es agradable.

La forma en que usa el códec hex funcionó en Python 2 porque puede invocar encode() en cadenas de 8 bits en Python 2, es decir, puede codificar algo que ya está codificado. Eso no tiene sentido. encode() es para codificar cadenas Unicode en cadenas de 8 bits, no para codificar cadenas de 8 bits como cadenas de 8 bits.

En Python 3 ya no puedes llamar a encode() en cadenas de 8 bits, por lo que el códec hex sentido y se eliminó.

Aunque teóricamente podrías tener un códec hex y usarlo así:

>>> import codecs >>> hexlify = codecs.getencoder(''hex'') >>> hexlify(b''Blaah'')[0] b''426c616168''

Usar binascii es más fácil y más agradable:

>>> import binascii >>> binascii.hexlify(b''Blaah'') b''426c616168''