[PYTHON] Konvertierung zwischen hexadezimaler Zeichenfolge und Zeichenfolge

Python

String => hexadezimaler String

Das Modul binascii kann Byte-Strings in hexadezimale Strings konvertieren. Bei einer Unicode-Zeichenfolge wird diese codiert und anschließend konvertiert.

Python2/Python3


import binascii
binascii.hexlify(b'Hello') # => b'48656c6c6f'
binascii.b2a_hex(b'Hello') # => b'48656c6c6f'
binascii.hexlify(u'Hallo'.encode('utf-8')) # => b'e38193e38293e381abe381a1e381af'
binascii.b2a_hex(u'Hallo'.encode('utf-8')) # => b'e38193e38293e381abe381a1e381af'

Sie können auch das Modul Codecs verwenden.

Python2/Python3


import codecs
codecs.encode(b'Hello', 'hex_codec') # => b'48656c6c6f'
codecs.encode(u'Hallo'.encode('utf-8'), 'hex_codec') # => b'e38193e38293e381abe381a1e381af'

In Python2 können Sie auch mit str.encode konvertieren.

Nur Python2


'Hello'.encode('hex') # => '48656c6c6f'

Sechseckige Zeichenfolge => Zeichenfolge

Das Modul binascii kann hexadezimale Zeichenfolgen in Byte-Zeichenfolgen konvertieren. Wenn Sie es entschlüsseln möchten, dekodieren Sie das Ergebnis.

Python2/Python3


import binascii
binascii.unhexlify(b'48656c6c6f') # => b'Hello'
binascii.a2b_hex(b'48656c6c6f')   # => b'Hello'
binascii.unhexlify(b'e38193e38293e381abe381a1e381af').decode('utf-8') # => 'Hallo'
binascii.a2b_hex(b'e38193e38293e381abe381a1e381af').decode('utf-8') # => 'Hallo'

Sie können auch das Modul Codecs verwenden.

Python2/Python3


import codecs
codecs.decode(b'48656c6c6f', 'hex_codec') # => b'Hello'
codecs.decode(b'e38193e38293e381abe381a1e381af', 'hex_codec').decode('utf-8') # => 'Hallo'

In Python2 können Sie auch mit str.decode konvertieren.

Nur Python2


'48656c6c6f'.decode('hex') # => 'Hello'

Ruby

String => hexadezimaler String

Sie können String # unpack verwenden, um einen String in einen hexadezimalen String zu konvertieren.

'Hello'.unpack('H*') # => ["48656c6c6f"]
'Hallo'.unpack('H*') # => ["e38193e38293e381abe381a1e381af"]

Sechseckige Zeichenfolge => Zeichenfolge

Sie können Array # pack verwenden, um eine hexadezimale Zeichenfolge in eine Zeichenfolge zu konvertieren. Ändern Sie gegebenenfalls die Zeichencodeinformationen mit String # force_encoding.

['48656c6c6f'].pack('H*') # => "Hello"
['e38193e38293e381abe381a1e381af'].pack('H*').force_encoding('utf-8') # => "Hallo"

Bash

String => hexadezimaler String

Sie können eine Zeichenfolge mit xxd in eine hexadezimale Zeichenfolge konvertieren.

echo -n Hello | xxd -p # => 48656c6c6f
echo -n Hallo| xxd -p # => e38193e38293e381abe381a1e381af

Sechseckige Zeichenfolge => Zeichenfolge

Sie können eine hexadezimale Zeichenfolge mit xxd in eine Zeichenfolge konvertieren.

echo -n 48656c6c6f | xxd -r -p # => Hello
echo -n e38193e38293e381abe381a1e381af | xxd -r -p # =>Hallo

MySQL

MySQL :: MySQL 5.6 Referenzhandbuch :: 9.1.4 Hexagonal Literal

String => hexadezimaler String

SELECT HEX('Hello');
-- 48656C6C6F

SELECT HEX("Hallo")
-- E38193E38293E381ABE381A1E381AF

Sechseckige Zeichenfolge => Zeichenfolge

SELECT x'48656C6C6F';
-- Hello

SELECT x'E38193E38293E381ABE381A1E381AF'
--Hallo

Recommended Posts

Konvertierung zwischen hexadezimaler Zeichenfolge und Zeichenfolge
Konvertieren Sie eine hexadezimale Zeichenfolge in eine Binärzeichenfolge
Konvertierung zwischen Unixtime und Datetime
Python-Einzug und String-Format
Datum und Uhrzeit ⇔ Zeichenkette
Effiziente Konvertierungsmethode in Byte-String
Python String Processing Map und Lambda
Konvertierung der Zeichenfolge <-> Datum (Datum, Datum / Uhrzeit) in Python
Python UTC ⇔ JST, Zeichenkette (UTC) ⇒ JST-Konvertierungsnotiz
String-Konvertierung einer Liste mit Zahlen
Umwandlung zwischen Singular- und Pluralwörtern
[Einführung in AWS] Text-Voice-Konvertierung und Wiedergabe ♪
Konvertierung von String → Bool-Wert in Python Consideration