Byte a stringa in python

Byte a stringa in python

A Python, ogni volta che archiviamo qualcosa, lo conserverà come un byte. I byte non sono leggibili dall'uomo e le stringhe sono forme leggibili dall'uomo. Ogni volta che archiviamo qualsiasi stringa, non lo memorizzerà direttamente come stringa; Sarà codificato nei byte usando diversi metodi come ASCII e UTF-8.

Per esempio, 'Sono un linuxhint'.ENCODE ('ASCII')

Nell'esempio sopra, convertiamo la stringa in byte usando il metodo ENCODE ASCII. E quando lo stampiamo usando il metodo di stampa Python, vedremo risultati come B'i Am A Linuxhint '. Qui possiamo vedere che la stringa segue solo un personaggio, b. In realtà, non siamo in grado di leggere i byte, ma qui la funzione di stampa Python decodifica i byte a forme leggibili dall'uomo in modo da poter leggere le corde.

Ma, in realtà, quando eseguiamo questa stringa per vedere ogni carattere delle stringhe di byte, verrà stampata in questo modo:

str1 = 'Sono un linuxhint'
Stampa (tipo (STR1))
str2 = b'i sono un linuxhint '
Stampa (tipo (STR2))

Abbiamo creato due stringhe. Una stringa è semplice. E l'altra stringa è byte. Quando stampiamo entrambi i tipi di stringa, otteniamo risultati come mostrato di seguito. I risultati seguenti mostrano che una stringa è un tipo di byte e un altro è un tipo di stringa.


Ora stamperemo ogni carattere di entrambe le stringhe per trovare la differenza tra loro. Innanzitutto, stamperemo una stringa (STR1) usando un loop per, che è una stringa normale.

per un in str1:
Stampa (a)

Produzione:

IO
UN
M
UN
l
io
N
u
X
H
io
N
T

Ora, stamperemo un'altra stringa (STR2) che è un tipo di byte.

per un in str2:
Stampa (a)

Produzione:

73
32
97
109
32
97
32
108
105
110
117
120
104
105
110
116

Dai risultati di cui sopra, possiamo vedere le differenze tra il tipo di byte e il tipo di stringa. Il tipo di byte non sono forme leggibili dall'uomo.

Quindi, ora vedremo metodi diversi che possono convertire i byte in stringhe.

Metodo 1: Usando la funzione mappa ()

In questo metodo, utilizzeremo la funzione Map () per convertire i byte in un formato di stringa. Il programma piccolo di seguito eliminerà il concetto.

byte = [97, 99, 100]
s = ".join (map (chr, byte))
stampare (i)

Produzione:

ACD

Linea 1: Abbiamo creato un elenco di nomi byte.

Riga 3: Abbiamo quindi superato i caratteri dell'elemento nell'elenco come parametro e byte come parametro alla funzione join (), che si unirà a tutti i caratteri dopo la conversione. Infine, il risultato è stampato.

Metodo 2: Usando la funzione decode ()

Un altro metodo è una funzione decode (). La funzione di decode funziona proprio di fronte alla funzione code ().

#Convert byte su String Using DECODE ()
str = b'blogs linuxhint '
Stampa (STR)
Stampa (tipo (STR))
# ora convertendo byte in stringa
output = str.decodificare()
print ('\ noutput:')
Stampa (output)
Stampa (tipo (output))

Produzione:

b'blogs Linuxhint '

Produzione:

Blog Linuxhint

Riga 3: Abbiamo creato una stringa di byte.

Riga da 4 a 5: Queste righe basta stampare informazioni sulla stringa che abbiamo creato alla riga 3.

Riga 8: Ora, chiamiamo la funzione di decodifica e salviamo il risultato su un nuovo nome variabile.

Riga da 11 a 12: Queste righe mostrano che ora la nostra stringa non ha più tipo di byte e che possiamo confermare il tipo di output, che è un tipo di stringa.

Metodo 3: Usando i codec.funzione decode ()

In questo metodo, useremo codec.funzione decode (). Questa funzione viene utilizzata per convertire la stringa binaria in forme normali. Quindi vediamo come funziona davvero questa funzione.

#Convert byte a String Using Codecs ()
Codec di importazione
str = b'blogs linuxhint '
Stampa (STR)
Stampa (tipo (STR))
# ora convertendo byte in stringa
output = codecs.decodifica (STR)
print ('\ noutput:')
Stampa (output)
Stampa (tipo (output))

Produzione:

b'blogs Linuxhint '

Produzione:

Blog Linuxhint

Linea 2: Importiamo i codec della libreria.

Riga 3: Abbiamo creato una stringa di byte.

Riga da 4 a 5: Queste righe basta stampare informazioni sulla stringa che abbiamo creato alla riga 3.

Riga 8: Ora stiamo chiamando i caodecs.Decodifica la funzione e salvare il risultato su un nuovo nome variabile.

Riga da 11 a 12: Queste righe mostrano che ora la nostra stringa non ha più tipo di byte e possiamo confermare il tipo di output, che è un tipo di stringa.

Metodo 4: Usando la funzione str ()

Possiamo anche convertire i byte in stringhe normali usando la funzione STR (). Di seguito è riportato il piccolo programma per capire questo metodo.

Se __Name__ == '__main__':
str1 = b'blogs linuxhint '
Stampa (STR)
Stampa (tipo (STR))
# ora convertendo byte in stringa
output = STR (STR1, 'UTF-8')
print ('\ noutput:')
Stampa (output)
Stampa (tipo (output))

Produzione:


Produzione:

Blog Linuxhint

Linea 2: Abbiamo creato una stringa di byte.

Riga da 3 a 4: Queste righe basta stampare informazioni sulla stringa che abbiamo creato alla riga 3.

Riga 6: Ora, chiamiamo la funzione STR () e salviamo il risultato su un nuovo nome variabile.

Riga da 7 a 9: Queste righe mostrano che ora la nostra stringa non ha più tipo di byte e possiamo confermare il tipo di output, che è un tipo di stringa.

Conclusione

Come programmatori di Python, lavoriamo quotidianamente su lingue diverse e talvolta otteniamo un errore a causa dei byte. Quindi in questo articolo, stiamo cercando di dare ad alcuni metodi come convertire i byte in stringa in modo che quando applichiamo qualsiasi metodo relativo alla stringa, non riceverai alcun errore.

In questo tutorial, abbiamo dato tutti i concetti che possiamo usare per convertire i byte in stringhe. Puoi scegliere in base ai requisiti del tuo programma.