Que signifie le préfixe \'b\' dans les chaînes Python ?

Susan Sarandon
Libérer: 2024-11-02 16:09:02
original
215 Les gens l'ont consulté

What Does the 'b' Prefix Mean in Python Strings?

Comprendre la signification du préfixe «b» dans les chaînes Python

Dans le code source Python, vous pouvez rencontrer des chaînes préfixées par un 'minuscule' b'. Ce «b» signifie une chaîne littérale bytes.

Octets vs Unicode

Dans Python 3, les chaînes sont principalement des objets Unicode. Les chaînes Unicode représentent des caractères de texte à l'aide de points de code provenant d'un large éventail de normes, notamment UTF-8, UTF-16 et UTF-32.

En revanche, les objets bytes en Python représentent des caractères binaires. données, y compris le texte codé. Ils contiennent une séquence d'entiers compris entre 0 et 255, représentant essentiellement des valeurs de données brutes.

Création d'objets octets

Pour créer un objet octets, utilisez le 'b ' préfixe avant une chaîne littérale :

<code class="python">b"abcdef"</code>
Copier après la connexion

Vous pouvez également construire des objets bytes à partir de séquences d'entiers ou en codant des chaînes Unicode :

<code class="python">bytes([72, 101, 108, 108, 111])
bytesvalue = strvalue.encode('utf-8')</code>
Copier après la connexion

Décodage et codage

Pour obtenir du texte Unicode à partir d'un objet bytes, utilisez la méthode decode() :

<code class="python">strvalue = bytesvalue.decode('utf-8')</code>
Copier après la connexion

À l'inverse, pour convertir du texte Unicode en octets, utilisez la méthode encode() ou la Constructeur d'objet bytes :

<code class="python">bytesvalue = strvalue.encode('utf-8')
bytesvalue = bytes(strvalue, 'utf-8')</code>
Copier après la connexion

Gestion des erreurs

Les méthodes decode() et encode() acceptent un argument facultatif pour gérer les erreurs pendant le processus de conversion. Cet argument spécifie comment les caractères non valides ou les problèmes d'encodage doivent être gérés.

Compatibilité Python 2

Python 2 versions 2.6 et 2.7 prend également en charge le préfixe « b » pour les chaînes littérales. pour faciliter la compatibilité du code avec Python 3.

Immuabilité

Les objets Bytes sont immuables, ce qui signifie que leur contenu ne peut pas être modifié. Si vous avez besoin d'une représentation mutable de données binaires, utilisez plutôt un objet bytearray().

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!