logo

Cum se convertesc int în octeți în Python?

Un obiect int poate fi folosit pentru a reprezenta aceeași valoare în formatul octetului. Întregul reprezintă un octet, este stocat ca o matrice cu cifra sa cea mai semnificativă (MSB) stocată fie la începutul, fie la sfârșitul matricei.

Metoda 1: int.tobytes()



O valoare int poate fi convertită în octeți folosind metoda int.to_bytes(). Metoda este invocată pe o valoare int, nu este acceptată de Python 2 (necesită Python3 minim) pentru execuție.

script de descărcare javascript

Sintaxă: int.to_bytes(lungime, ordine de octeți)

Argumente :



lungime – lungimea dorită a matricei în octeți.

byteorder – ordinea matricei pentru a efectua conversia unui int în octeți. byteorder poate avea valori ca oricare mic unde bitul cel mai semnificativ este stocat la sfârșit și cel puțin la început, sau mare , unde MSB este stocat la început și LSB la sfârșit.

Excepții:



OverflowError este returnat în cazul în care lungimea valorii întregi nu este suficient de mare pentru a fi inclusă în lungimea matricei.

Următoarele programe ilustrează utilizarea acestei metode în Python:

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

obține data curentă în java
>

>

Ieșire

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

>

>

Ieșire

b'
x00x00x00x00'>

Metoda 2: Conversia întregului în șir și șir în octeți

introduceți gestionarea excepțiilor java

Această abordare funcționează este compatibilă în ambele versiuni Python, 2 și 3. Această metodă nu ia ca argumente lungimea matricei și a ordinii de octeți.

  • O valoare întreagă reprezentată în format zecimal poate fi convertită mai întâi în șir folosind funcția str(), care ia ca argument valoarea întreagă care trebuie convertită în echivalentul șir corespunzător.
  • Acest echivalent șir este apoi convertit într-o secvență de octeți prin alegerea reprezentării dorite pentru fiecare caracter, adică codificarea valorii șirului. Acest lucru se face prin 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)>

șiruri de caractere java concat

>

>

Ieșire

b'5'>