Python
Le module binascii peut convertir des chaînes d'octets en chaînes hexadécimales. Dans le cas d'une chaîne de caractères Unicode, elle est encodée puis convertie.
Python2/Python3
import binascii
binascii.hexlify(b'Hello') # => b'48656c6c6f'
binascii.b2a_hex(b'Hello') # => b'48656c6c6f'
binascii.hexlify(u'Bonjour'.encode('utf-8')) # => b'e38193e38293e381abe381a1e381af'
binascii.b2a_hex(u'Bonjour'.encode('utf-8')) # => b'e38193e38293e381abe381a1e381af'
Vous pouvez également utiliser le module codecs.
Python2/Python3
import codecs
codecs.encode(b'Hello', 'hex_codec') # => b'48656c6c6f'
codecs.encode(u'Bonjour'.encode('utf-8'), 'hex_codec') # => b'e38193e38293e381abe381a1e381af'
En Python2, vous pouvez également convertir avec str.encode
.
Python2 uniquement
'Hello'.encode('hex') # => '48656c6c6f'
Le module binascii peut convertir des chaînes hexadécimales en chaînes d'octets. Si vous voulez le rendre non codé, décodez le résultat.
Python2/Python3
import binascii
binascii.unhexlify(b'48656c6c6f') # => b'Hello'
binascii.a2b_hex(b'48656c6c6f') # => b'Hello'
binascii.unhexlify(b'e38193e38293e381abe381a1e381af').decode('utf-8') # => 'Bonjour'
binascii.a2b_hex(b'e38193e38293e381abe381a1e381af').decode('utf-8') # => 'Bonjour'
Vous pouvez également utiliser le module codecs.
Python2/Python3
import codecs
codecs.decode(b'48656c6c6f', 'hex_codec') # => b'Hello'
codecs.decode(b'e38193e38293e381abe381a1e381af', 'hex_codec').decode('utf-8') # => 'Bonjour'
En Python2, vous pouvez également convertir avec str.decode
.
Python2 uniquement
'48656c6c6f'.decode('hex') # => 'Hello'
Ruby
Vous pouvez utiliser String # unpack pour convertir une chaîne en une chaîne hexadécimale.
'Hello'.unpack('H*') # => ["48656c6c6f"]
'Bonjour'.unpack('H*') # => ["e38193e38293e381abe381a1e381af"]
Vous pouvez utiliser Array # pack pour convertir une chaîne hexadécimale en chaîne. Modifiez les informations de code de caractère avec String # force_encoding si nécessaire.
['48656c6c6f'].pack('H*') # => "Hello"
['e38193e38293e381abe381a1e381af'].pack('H*').force_encoding('utf-8') # => "Bonjour"
Bash
Vous pouvez convertir une chaîne en une chaîne hexadécimale avec xxd
.
echo -n Hello | xxd -p # => 48656c6c6f
echo -n bonjour| xxd -p # => e38193e38293e381abe381a1e381af
Vous pouvez convertir une chaîne hexadécimale en chaîne avec xxd
.
echo -n 48656c6c6f | xxd -r -p # => Hello
echo -n e38193e38293e381abe381a1e381af | xxd -r -p # =>Bonjour
MySQL
MySQL :: MySQL 5.6 Reference Manual :: 9.1.4 Hexagonal Literal
SELECT HEX('Hello');
-- 48656C6C6F
SELECT HEX("Bonjour")
-- E38193E38293E381ABE381A1E381AF
SELECT x'48656C6C6F';
-- Hello
SELECT x'E38193E38293E381ABE381A1E381AF'
--Bonjour
Recommended Posts