Ajouter le préfixe " b " à la variable python?

ajouter le préfixe "b" à une chaîne de caractères le convertit en octets:

b'example'

mais je ne vois pas comment faire avec une variable. En supposant que string = 'example', aucune de ces semblent fonctionner:

b(string)
b string
b'' + string

Est-il une façon simple de le faire?

24
demandé sur zombio 2013-10-22 11:16:51

3 réponses

# only an example, you can choose a different encoding
bytes('example', encoding='utf-8')

En Python3:

Bytes les lettres sont toujours préfixées avec 'b' ou 'B'; elles produisent instance du type bytes au lieu du type str. Ils ne peuvent contiennent des caractères ASCII; octets avec une valeur numérique de 128 ou plus doit être exprimé avec échappe.

En Python2:

un préfixe de 'b' ou 'B' est ignoré dans Python 2; Il indique que le literal devrait devenir un bytes literal en Python 3.

en savoir Plus sur octets():

bytes([source[, encodage [erreurs]]])

retourner un nouvel objet "bytes", qui est une séquence immuable de entiers dans l'intervalle 0 <= x < 256. bytes est une version immuable de bytearray-il a les mêmes méthodes de non-mutation et la même indexation et un comportement tranchant.

en conséquence, les arguments du constructeur sont interprétés comme pour bytearray().

Les objets Bytes peuvent aussi être créé avec des caractères littéraux, voir String et Bytes littéral.

23
répondu Leonardo.Z 2013-10-22 07:30:45

Utiliser bytes():

>>> bytes("hello", encoding="ascii")
b'hello'
4
répondu Tim Pietzcker 2013-10-22 07:21:14
string = bytes(string, encoding= 'utf-8')

où 'string' est votre variable.

1
répondu a_ran 2018-05-31 05:38:02