Maison > développement back-end > Tutoriel Python > Comment puis-je convertir efficacement entre des chaînes binaires et ASCII en Python ?

Comment puis-je convertir efficacement entre des chaînes binaires et ASCII en Python ?

Mary-Kate Olsen
Libérer: 2024-11-26 06:06:09
original
739 Les gens l'ont consulté

How Can I Efficiently Convert Between Binary and ASCII Strings in 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+
Copier après la connexion

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+
Copier après la connexion

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
    ...
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal