2013-10-22 5 views
17

Aggiungendo il prefisso "b" per una stringa converte in byte:Aggiungi prefisso "b" alla variabile python?

b'example' 

ma non riesco a capire come fare questo con una variabile. Supponendo string = 'example', nessuna di queste sembra funzionare:

b(string) 
b string 
b'' + string 

C'è un modo semplice per fare questo?

+2

b converte str a byte, non binario –

+0

whoops sei corretto. Lo ha cambiato – zombio

risposta

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

In python3:

byte letterali sono sempre preceduti 'b' o 'B'; producono un'istanza del tipo byte invece del tipo str. Possono solo contenere caratteri ASCII; i byte con un valore numerico di 128 o maggiore devono essere espressi con escape.

In python2:

Un prefisso di 'b' o 'B' viene ignorato in Python 2; indica che il letterale dovrebbe diventare un byte di Python 3.

Ulteriori su byte():

byte ([fonte [, encoding [, errors]]])

Restituire un nuovo oggetto “byte”, che è una sequenza immutabile di interi fra 0 < = x < 256. byte è una versione immutabile di ByteArray - ha gli stessi metodi non-mutanti e la stessa indicizzazione e affettare il comportamento.

Di conseguenza, gli argomenti del costruttore sono interpretati come per bytearray().

Gli oggetti byte possono anche essere creati con valori letterali, vedere Stringhe e byte valori letterali.

4

Uso bytes():

>>> bytes("hello", encoding="ascii") 
b'hello'