Python convertir la chaîne en octets

Python convertir la chaîne en octets
Un objet d'octet est composé d'une série d'octets. Ceux-ci sont lisibles par machine et peuvent être enregistrés sur le disque immédiatement. Les cordes sont au format lisible par l'homme et doivent être codées avant utilisation. Le texte peut être mappé sur le disque en utilisant de nombreux types de codages différents. Les systèmes de codage ASCII et UTF-8 sont les plus utilisés.

Les octets et les cordes se distinguent bien à Python. En fournissant un encodage, vous pouvez coder une chaîne pour recevoir des octets et décoder les octets pour obtenir une chaîne. Les conversions internes sont communes, mais les conversions String to octets deviennent de plus en plus courantes de nos jours car nous avons généralement besoin de traduire les chaînes en octets lorsque vous travaillez avec des fichiers ou l'apprentissage automatique. Vous devez savoir que les conversions peuvent échouer et comment les erreurs sont gérées doivent être prises en compte.

Jetons un coup d'œil à quelques illustrations de la façon dont cela peut être conclu. Nous apprendrons à connaître la conversion d'une chaîne Python en octets dans ce guide. Deux méthodes sont examinées afin que vous puissiez choisir celle qui convient le mieux à vos désirs. Bien qu'il existe plusieurs techniques pour convertir les chaînes de python en octets, nous nous concentrerons sur les chaînes les plus courantes et les plus simples. Voyons maintenant quelques exemples.

Exemple 1:

Pour convertir une chaîne en octets, nous pouvons utiliser la classe Bytes intégrée de Python: fournissez simplement la chaîne comme premier argument à l'objet fonction () [code natif] de la classe Bytes, suivi du codage. Initialement, nous avons une chaîne intitulée «MY_STR». Nous avons converti cette chaîne spécifique en octets.

my_str = "Bienvenue à Python"
str_one = octets (my_str, 'utf-8')
str_two = octets (my_str, 'ascii')
print (str_one, '\ n')
pour l'octet dans str_one:
imprimer (octet, end = ")
print ('\ n')
pour l'octet dans str_two:
imprimer (octet, end = ")

Cette approche, comme vous pouvez le voir, a transformé la chaîne en une série d'octets. Notez que cette fonction transforme les objets en octets immuables; Si vous avez besoin d'une méthode mutable, utilisez plutôt la méthode bytearray (). L'élément a été produit dans un format textuel facile à lire, mais les données qu'il contient est en octets. Voici le résultat de l'implémentation du code ci-dessus.

Exemple 2:

La méthode Encode () a été utilisée dans cet exemple pour traduire les données. Pour convertir les chaînes Python en octets, c'est la manière la plus souvent utilisée et recommandée. L'une des principales raisons est qu'il est plus facile de lire. La syntaxe de la méthode de codage est la suivante:

# chaîne.Encoder (codage = codage, erreurs = erreurs)

La chaîne que vous souhaitez convertir est appelée chaîne. La méthode d'encodage que vous utilisez est appelée «codage.`` La chaîne '' error 'affiche le message d'erreur. UTF-8 est devenu la norme depuis Python 3.

my_str = "Exemple de code pour la conversion"
my_str_encoded = my_str.Encode (encoding = 'utf-8')
imprimer (my_str_encoded)
Pour les octets dans MY_STR_ENCODED:
imprimer (octets, end = ")

Nous avons utilisé la chaîne my_str = "Exemple de code pour la conversion" comme exemple. Nous avons utilisé le codage pour la conversion après avoir initialisé la chaîne, puis imprimé la sortie de la chaîne. Après cela, nous avons imprimé les octets individuels comme suit:

Exemple 3:

Dans notre troisième exemple, nous utilisons à nouveau la méthode Encode () pour convertir les chaînes en octets. C'est le moyen confortable de convertir les cordes en octets.

my_str = "découvrez le programme"
imprimer (my_str)
imprimer (type (my_str))
str_object = my_str.Encode ("UTF-8")
print (str_object)
print (type (str_object))

Nous considérons My_Str = ”Renseignez-vous sur la programmation» comme la source à transformer en octets dans le code ci-dessus. Nous avons transformé la chaîne en octets à l'étape suivante en utilisant la méthode Encode (). Avant et après la conversion, la fonction type () est utilisée pour vérifier le type d'objet. ENC = UTF-8 est utilisé ici.

Le code ci-dessus a généré la sortie suivante.

Conclusion

Ces deux approches abordent efficacement le même problème; Par conséquent, choisir une méthode plutôt qu'une autre se résume à des préférences personnelles. Cependant, nous vous recommandons de sélectionner l'option qui répond le mieux à vos besoins. La méthode byte () renvoie un objet qui ne peut pas être modifié. En conséquence, si vous avez besoin d'un objet modifiable, envisagez d'utiliser ByteArray (). L'objet doit avoir une taille de 0 = x 256 pour les méthodes byte ().