Bei einer Hex-Zeichenfolge handelt es sich um eine reguläre Zeichenfolge, mit der Ausnahme, dass alle zwei Zeichen ein Byte darstellen, das einem ASCII-Zeichen zugeordnet ist.
So zum Beispiel die Zeichenfolge
abc
Würde als dargestellt werden
979899
Ich schaue auf das binascii -Modul, weiß aber nicht wirklich, wie ich das Hex- nehmen soll. string und verwandle es wieder in den ascii string. Welche Methode kann ich verwenden?
Hinweis: Ich beginne mit 979899
und möchte es wieder in abc
konvertieren
3 Antworten
Um die Zeichenfolge von der Hexadezimalzahl zurückzugewinnen, können Sie verwenden
s=str(616263)
print "".join([chr(int(s[x:x+2], 16)) for x in range(0,len(s),2)])
Siehe http://ideone.com/dupgs
Sie können ord()
verwenden, um den ganzzahligen Wert jedes Zeichens abzurufen:
>>> map(ord, 'abc')
[97, 98, 99]
>>> ''.join(map(lambda c: str(ord(c)), 'asd'))
'979899'
>>> ''.join((str(ord(c)) for c in 'abc'))
'979899'
Sie benötigen keine binascii, um die ganzzahlige Darstellung eines Zeichens in einer Zeichenfolge zu erhalten. Sie benötigen lediglich die integrierte Funktion ord()
.
s = 'abc'
print(''.join(map(lambda x:str(ord(x)),s))) # outputs "979899"
Verwandte Fragen
Neue Fragen
python
Python ist eine dynamisch typisierte Mehrzweck-Programmiersprache mit mehreren Paradigmen. Es wurde entwickelt, um schnell zu lernen, zu verstehen, zu verwenden und eine saubere und einheitliche Syntax durchzusetzen. Bitte beachten Sie, dass Python 2 ab dem 01.01.2020 offiziell nicht mehr unterstützt wird. Fügen Sie für versionenspezifische Python-Fragen das Tag [python-2.7] oder [python-3.x] hinzu. Wenn Sie eine Python-Variante (z. B. Jython, PyPy) oder eine Bibliothek (z. B. Pandas und NumPy) verwenden, fügen Sie diese bitte in die Tags ein.