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!