logo

Ako previesť Int na bajty v Pythone?

Objekt int možno použiť na vyjadrenie rovnakej hodnoty vo formáte bajtu. Celé číslo predstavuje bajt, je uložené ako pole s najvýznamnejšou číslicou (MSB) uloženou buď na začiatku alebo na konci poľa.

Metóda 1: int.tobytes()



Hodnotu int možno pomocou tejto metódy previesť na bajty int.to_bytes(). Metóda je vyvolaná na int hodnote, nie je podporovaná Pythonom 2 (vyžaduje minimálne Python3) na spustenie.

porovnateľná java

Syntax: int.to_bytes(dĺžka, poradie bajtov)

Argumenty :



dĺžka – požadovaná dĺžka poľa v bajtoch .

byteorder – poradie poľa na vykonanie konverzie int na bajty. byteorder môže mať hodnoty ako buď málo kde najvýznamnejší bit je uložený na konci a najmenej na začiatku, príp veľký , kde MSB je uložený na začiatku a LSB na konci.

Výnimky:



OverflowError sa vráti v prípade, že dĺžka celočíselnej hodnoty nie je dostatočne veľká na to, aby sa zmestila do dĺžky poľa.

Nasledujúce programy ilustrujú použitie tejto metódy v Pythone:

Python3




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

>

>

Výkon

ako zakázať režim vývojára v systéme Android
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)>

>

latex s veľkosťou písma
>

Výkon

b'
x00x00x00x00'>

Metóda 2: Prevod celého čísla na reťazec a reťazec na bajty

Tento prístup funguje je kompatibilný v oboch verziách Pythonu, 2 a 3. Táto metóda neberie ako argumenty dĺžku poľa a poradie bajtov.

  • Celú hodnotu reprezentovanú v desiatkovom formáte je možné najskôr skonvertovať na reťazec pomocou funkcie str() , ktorá berie ako argument celočíselnou hodnotu, ktorá sa má previesť na zodpovedajúci ekvivalent reťazca.
  • Tento reťazcový ekvivalent sa potom skonvertuje na sekvenciu bajtov výberom požadovaného znázornenia pre každý znak, ktorým je kódovanie hodnoty reťazca. Robí sa to metódou str.encode().

Python3


skontrolujte nulu v jazyku Java



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

>

>

Výkon

b'5'>