logo

Kaip Python konvertuoti Int į baitus?

Int objektas gali būti naudojamas tai pačiai reikšmei pateikti baito formatu. Sveikasis skaičius reiškia baitą, saugomas kaip masyvas, kurio reikšmingiausias skaitmuo (MSB) saugomas masyvo pradžioje arba pabaigoje.

1 būdas: int.tobytes()



Naudojant metodą int reikšmė gali būti konvertuojama į baitus int.to_bytes(). Metodas iškviečiamas naudojant int reikšmę, jo nepalaiko Python 2 (vykdyti reikia mažiausiai Python3).

java spausdinimas

Sintaksė: int.to_bytes(ilgis, baitų tvarka)

Argumentai :



ilgis – norimas masyvo ilgis baitais .

byteorder – masyvo tvarka, pagal kurią int konvertuojama į baitus. byteorder gali turėti reikšmes kaip bet kurią mažai kur svarbiausias bitas saugomas pabaigoje ir mažiausiai pradžioje, arba didelis , kur pradžioje saugomas MSB, o pabaigoje – LSB.

Išimtys:



OverflowError grąžinama tuo atveju, jei sveikojo skaičiaus vertės ilgis nėra pakankamai didelis, kad jį būtų galima įtraukti į masyvo ilgį.

Šios programos iliustruoja šio metodo naudojimą Python:

Python3




dirbtinis neuroninis tinklas
# 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)>

>

>

Išvestis

b'x00x05'>

Python3




# 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)>

>

jie yra dainininkai

>

Išvestis

b'
x00x00x00x00'>

2 būdas: Sveikasis skaičius konvertuojamas į eilutę ir eilutę į baitus

Šis metodas veikia, yra suderinamas su 2 ir 3 Python versijomis. Šis metodas nelaiko masyvo ilgio ir baitų eilės argumentais.

  • Sveikojo skaičiaus reikšmę, pavaizduotą dešimtainiu formatu, pirmiausia galima konvertuoti į eilutę naudojant str() funkciją, kuri kaip argumentą paima sveikojo skaičiaus reikšmę, kurią reikia konvertuoti į atitinkamą eilutės atitikmenį.
  • Tada šis eilutės atitikmuo konvertuojamas į baitų seką, pasirenkant norimą kiekvieno simbolio atvaizdą, tai yra, užkoduojant eilutės reikšmę. Tai atliekama str.encode() metodu.

Python3


Vartotojo vardas



# 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)>

>

>

Išvestis

b'5'>