Heim > Artikel > Backend-Entwicklung > Wie kann ich in Python effizient zwischen Binär- und ASCII-Zeichenfolgen konvertieren?
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!