logo

Kako pretvoriti Int v bajte v Pythonu?

Objekt int lahko uporabite za predstavitev iste vrednosti v obliki bajta. Celo število predstavlja bajt in je shranjeno kot matrika z najpomembnejšo števko (MSB), shranjeno na začetku ali koncu matrike.

1. način: int.tobytes()



Vrednost int je mogoče pretvoriti v bajte z uporabo metode int.to_bytes(). Metoda je priklicana na vrednost int, Python 2 je ne podpira (zahteva najmanj Python3) za izvajanje.

razvrščanje na seznamu v Javi

Sintaksa: int.to_bytes(dolžina, vrstni red bajtov)

Argumenti :



dolžina – želena dolžina matrike v bajtih.

byteorder – vrstni red matrike za izvedbo pretvorbe int v bajte. byteorder ima lahko vrednosti kot eno od obeh malo kjer je najpomembnejši bit shranjen na koncu in najmanj na začetku, oz velik , kjer je MSB shranjen na začetku in LSB na koncu.

Izjeme:



OverflowError se vrne v primeru, da dolžina celoštevilske vrednosti ni dovolj velika, da bi se lahko prilagodila dolžini matrike.

Naslednji programi ponazarjajo uporabo te metode v Pythonu:

Python3




poravnava slik v css

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

>

>

Izhod

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

številka abecede

>

>

Izhod

b'
x00x00x00x00'>

2. način: Pretvarjanje celega števila v niz in niza v bajte

Ta pristop deluje in je združljiv v obeh različicah Pythona, 2 in 3. Ta metoda ne vzame dolžine niza in vrstnega reda bajtov kot argumenta.

orodna vrstica za hitri dostop ms word
  • Celoštevilsko vrednost, predstavljeno v decimalni obliki, je mogoče najprej pretvoriti v niz s funkcijo str(), ki kot argument sprejme celoštevilsko vrednost, ki jo je treba pretvoriti v ustrezen ekvivalent niza.
  • Ta ekvivalent niza se nato pretvori v zaporedje bajtov z izbiro želene predstavitve za vsak znak, ki kodira vrednost niza. To naredi metoda str.encode().

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

>

>

Izhod

b'5'>