Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiert man zwischen ASCII- und Binärdarstellungen in Python?
Binär in ASCII konvertieren und zurück
Der angegebene Codeausschnitt wandelt eine Zeichenfolge in eine binäre Darstellung um. Um seinen Mechanismus zu verstehen, analysieren wir einen alternativen Ansatz.
Python 2: ASCII-Zeichenbereich
Für ASCII-Zeichen im Bereich [-~] bietet Python 2 eine einfachere Lösung:
import binascii n = int(binascii.hexlify('hello'), 16) binary_representation = bin(n)
Dieser Code wandelt die Zeichenfolge „Hallo“ in eine hexadezimale Darstellung um und dann in eine Binärdarstellung.
Umkehren der Konvertierung
So konvertieren Sie die Binärdarstellung zurück in eine Zeichenfolge:
n = int('0b110100001100101011011000110110001101111', 2) string_representation = binascii.unhexlify('%x' % n)
Dadurch wird die Binärdarstellung konvertiert Darstellung zurück in eine hexadezimale Darstellung und dann in die ursprüngliche Zeichenfolge „Hallo“.
Python 3.2:
Python 3.2 führte zusätzliche Methoden ein:
n = int.from_bytes('hello'.encode(), 'big') binary_representation = bin(n)
n = int('0b110100001100101011011000110110001101111', 2) string_representation = n.to_bytes((n.bit_length() + 7) // 8, 'big').decode()
Unicode-Unterstützung in Python 3:
Zur Unterstützung aller Unicode-Zeichen in Python 3:
def text_to_bits(text, encoding='utf-8', errors='surrogatepass'): # ... def text_from_bits(bits, encoding='utf-8', errors='surrogatepass'): # ...
Diese Funktion konvertiert zwischen Text und binäre Darstellungen, die Unicode-Zeichen unterstützen.
Das obige ist der detaillierte Inhalt vonWie konvertiert man zwischen ASCII- und Binärdarstellungen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!