Python konverter streng til byte

Python konverter streng til byte
En byteobjekt består av en serie byte. Disse er maskinlesbare og kan lagres på disken umiddelbart. Strenger er i menneskelig lesbart format og må kodes før bruk. Tekst kan kartlegges til disken ved hjelp av mange forskjellige typer kodinger. ASCII- og UTF-8-kodingssystemene er de mest brukte.

Byte og strenger er godt utmerket i Python. Ved å levere en koding, kan du kode en streng for å motta byte og avkode byte for å få en streng. Interkonverteringer er vanlige, men streng til bytes konverteringer blir mer vanlig i disse dager, da vi ofte trenger å oversette strenger til byte når vi jobber med filer eller maskinlæring. Du bør være klar over at konverteringer kan mislykkes, og hvordan feil håndteres bør vurderes.

La oss se på noen få illustrasjoner av hvordan dette kan konkluderes. Vi blir kjent med å konvertere en python -streng til byte i denne guiden. To metoder blir gjennomgått slik at du kan velge den som passer best for dine ønsker. Selv om det er flere teknikker for å konvertere pythonstrenger til byte, vil vi konsentrere oss om de vanligste og enkle. La oss nå se på noen eksempler.

Eksempel 1:

For å konvertere en streng til byte, kan vi bruke Pythons innebygde byte-klasse: bare levere strengen som det første argumentet til funksjonsobjektet () [Native Code] i byte-klassen, etterfulgt av kodingen. Til å begynne med har vi en streng med tittelen “My_str”. Vi har konvertert denne spesifikke strengen til byte.

my_str = "Velkommen til Python"
str_one = byte (my_str, 'utf-8')
str_two = byte (my_str, 'ascii')
trykk (str_one, '\ n')
for byte i str_one:
trykk (byte, slutt = ")
print ('\ n')
for byte i str_two:
trykk (byte, slutt = ")

Denne tilnærmingen har, som du ser, forvandlet strengen til en serie byte. Merk at denne funksjonen transformerer objekter til uforanderlige byte; Hvis du trenger en mutbar metode, bruk ByteArray () -metoden i stedet. Elementet er produsert i et tekstformat som er lett å lese, men likevel er dataene den inneholder i byte. Her er resultatet av å implementere koden ovenfor.

Eksempel 2:

Encode () -metoden ble brukt i dette eksemplet for å oversette dataene. For å konvertere Python -strenger til byte, er dette den mest brukte og anbefalte måten. En av hovedårsakene er at det er lettere å lese. Syntaksen til kodingsmetoden er som følger:

# streng.kode (koding = koding, feil = feil)

Strengen du vil konvertere blir referert til som streng. Kodingsmetoden du bruker kalles 'koding.'Strengen' feil 'viser feilmeldingen. UTF-8 har blitt standarden siden Python 3.

my_str = "Eksempelkode for konvertering"
my_str_encoded = my_str.kode (koding = 'utf-8')
print (my_str_encoded)
For byte i my_str_encoded:
trykk (byte, slutt = ")

Vi har brukt strengen my_str = “Eksempelkode for konvertering” som et eksempel. Vi benyttet kodingen for konverteringen etter initialisering av strengen og trykket deretter strengutgangen. Etter det trykket vi de individuelle byteene som følger:

Eksempel 3:

I vårt tredje eksempel bruker vi igjen ENCODE () -metoden for å konvertere strenger til byte. Dette er den komfortable måten å konvertere strenger til byte.

my_str = "Lær om programmering"
trykk (my_str)
print (type (my_str))
str_object = my_str.kode ("UTF-8")
print (str_object)
Print (Type (Str_Object))

Vi ser på my_str = ”lære om programmering” som kilden som skal transformeres til byte i ovennevnte kode. Vi vendte strengen til byte i neste trinn ved å bruke enkod () -metoden. Før og etter konvertering brukes type () -funksjonen for å sjekke objekttypen. ENC = UTF-8 brukes her.

Ovennevnte kode genererte følgende utgang.

Konklusjon

Begge disse tilnærmingene takler det samme problemet effektivt; Derfor kommer det å velge en metode over en annen ned til personlig preferanse. Vi anbefaler imidlertid at du velger alternativet som best oppfyller dine behov. Byte () -metoden returnerer et objekt som ikke kan endres. Som et resultat, hvis du trenger et skiftende objekt, kan du vurdere å bruke Bytearray (). Objektet skal ha en størrelse på 0 = x 256 for byte () metoder.