logo

Hvordan konvertere Int til byte i Python?

Et int-objekt kan brukes til å representere den samme verdien i formatet til byten. Heltallet representerer en byte, lagres som en matrise med dets mest signifikante siffer (MSB) lagret enten ved starten eller slutten av matrisen.

Metode 1: int.tobytes()



En int-verdi kan konverteres til byte ved å bruke metoden int.to_bytes(). Metoden påkalles på en int-verdi, støttes ikke av Python 2 (krever minimum Python3) for kjøring.

annet hvis bash

Syntaks: int.to_bytes(lengde, byteordre)

Argumenter :



lengde – ønsket lengde på matrisen i byte .

byteorder – rekkefølgen til matrisen for å utføre konvertering av en int til byte. byteorder kan ha verdier som enten litt hvor den mest signifikante biten er lagret på slutten og minst i begynnelsen, eller stor , hvor MSB lagres ved start og LSB på slutten.

Unntak:



OverflowError returneres i tilfelle heltallsverdilengden ikke er stor nok til å få plass i matrisens lengde.

Følgende programmer illustrerer bruken av denne metoden i Python:

Python3


streng til jsonobject



# declaring an integer value> integer_val>=> 5> > # converting int to bytes with length> # of the array as 2 and byter order as big> bytes_val>=> integer_val.to_bytes(>2>,>'big'>)> > # printing integer in byte representation> print>(bytes_val)>

>

>

Produksjon

b'x00x05'>

Python3


delvis derivatsymbol lateks



# declaring an integer value> integer_val>=> 10> > # converting int to bytes with length> # of the array as 5 and byter order as> # little> bytes_val>=> integer_val.to_bytes(>5>,>'little'>)> > # printing integer in byte representation> print>(bytes_val)>

>

>

Produksjon

b'
x00x00x00x00'>

Metode 2: Konvertering av heltall til streng og streng til byte

Denne tilnærmingen fungerer er kompatibel i begge Python-versjonene 2 og 3. Denne metoden tar ikke lengden på matrisen og byteorden som argumenter.

  • En heltallsverdi representert i desimalformat kan konverteres til streng først ved å bruke str()-funksjonen , som tar som argument heltallsverdien som skal konverteres til den tilsvarende strengekvivalenten.
  • Denne strengekvivalenten konverteres deretter til en sekvens av byte ved å velge ønsket representasjon for hvert tegn, det vil si koding av strengverdien. Dette gjøres med str.encode()-metoden.

Python3




# declaring an integer value> int_val>=> 5> > # converting to string> str_val>=> str>(int_val)> > # converting string to bytes> byte_val>=> str_val.encode()> print>(byte_val)>

git pull origin master
>

>

Produksjon

b'5'>