Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich in Python effizient zwischen Binär- und ASCII-Zeichenfolgen konvertieren?

Wie kann ich in Python effizient zwischen Binär- und ASCII-Zeichenfolgen konvertieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-26 06:06:09655Durchsuche

How Can I Efficiently Convert Between Binary and ASCII Strings in Python?

Binär in ASCII konvertieren und umgekehrt

Python bietet verschiedene Methoden zum Kodieren von Zeichenfolgen in ihre binäre Darstellung und umgekehrt.

String to Binary

Das bereitgestellte Code verwendet Reduzieren, um eine Zeichenfolge in eine Binärdatei umzuwandeln. Eine einfachere Möglichkeit ist jedoch die Verwendung des Binascii-Moduls in Python 2 und int.from_bytes in Python 3:

import binascii

binary = bin(int(binascii.hexlify('hello'), 16)) # Python 2
binary = bin(int.from_bytes('hello'.encode(), 'big')) # Python 3+

Binary to String

Um den Vorgang umzukehren, Verwenden Sie die Methode binascii.unhexlify in Python 2 und die Methode int.to_bytes in Python 3:

text = binascii.unhexlify('%x' % n) # Python 2
text = n.to_bytes((n.bit_length() + 7) // 8, 'big').decode() # Python 3+

UTF-8-Unterstützung

Um alle Unicode-Zeichen in Python 3 zu unterstützen, können Sie benutzerdefinierte Funktionen für die Konvertierung erstellen:

def text_to_bits(text, encoding='utf-8', errors='surrogatepass'):
    # Converts text to bits, supporting all Unicode characters
    ...

def text_from_bits(bits, encoding='utf-8', errors='surrogatepass'):
    # Converts bits back to text, supporting all Unicode characters
    ...

Diese benutzerdefinierte Funktion ist sowohl mit Python 2 als auch mit Python 3 kompatibel.

Zusammenfassend stellt Python verschiedene Methoden für Binärzeichenfolgen bereit Konvertierungen. Die oben genannten Lösungen bieten effiziente und flexible Möglichkeiten zur Bewältigung dieser Aufgabe, einschließlich der Unterstützung von Unicode-Zeichen.

Das obige ist der detaillierte Inhalt vonWie kann ich in Python effizient zwischen Binär- und ASCII-Zeichenfolgen konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn