Maison >développement back-end >Tutoriel Python >Comment convertir entre les représentations ASCII et binaires en Python ?
Conversion du binaire en ASCII et inversement
L'extrait de code donné convertit une chaîne en représentation binaire. Pour comprendre son mécanisme, analysons une approche alternative.
Python 2 : Plage de caractères ASCII
Pour les caractères ASCII compris dans la plage [ -~], Python 2 fournit un solution plus simple :
import binascii n = int(binascii.hexlify('hello'), 16) binary_representation = bin(n)
Ce code convertit la chaîne 'hello' en une représentation hexadécimale puis en une représentation binaire.
Inverser la conversion
Pour reconvertir la représentation binaire en chaîne :
n = int('0b110100001100101011011000110110001101111', 2) string_representation = binascii.unhexlify('%x' % n)
Cela convertit la représentation binaire revenir dans une représentation hexadécimale, puis dans la chaîne d'origine 'hello'.
Python 3.2 :
Python 3.2 a introduit des méthodes supplémentaires :
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()
Prise en charge d'Unicode dans Python 3 :
Pour prendre en charge tous les Unicode caractères en Python 3 :
def text_to_bits(text, encoding='utf-8', errors='surrogatepass'): # ... def text_from_bits(bits, encoding='utf-8', errors='surrogatepass'): # ...
Cette fonction convertit entre les représentations textuelles et binaires, prenant en charge 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!