Maison >développement back-end >Tutoriel Python >Comment puis-je convertir efficacement entre des chaînes binaires et ASCII en Python ?
Conversion de binaire en ASCII et vice versa
Python propose diverses méthodes pour encoder des chaînes dans leur représentation binaire et vice versa.
Chaîne en binaire
Le code fourni utilise réduire pour convertir une chaîne en binaire. Cependant, un moyen plus simple consiste à utiliser le module binascii dans Python 2 et int.from_bytes dans 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
Pour inverser le processus, utilisez la méthode binascii.unhexlify en Python 2 et la méthode int.to_bytes en Python 3 :
text = binascii.unhexlify('%x' % n) # Python 2 text = n.to_bytes((n.bit_length() + 7) // 8, 'big').decode() # Python 3+
Prise en charge UTF-8
Pour prendre en charge tous les caractères Unicode dans Python 3, vous pouvez créer des fonctions personnalisées pour la conversion :
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 ...
Cette fonction personnalisée est compatible avec Python 2 et Python 3.
En résumé, Python fournit diverses méthodes pour les chaînes binaires conversions. Les solutions ci-dessus offrent des moyens efficaces et flexibles de gérer cette tâche, notamment la prise en charge des caractères Unicode.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!