logo

Python에서 Int를 바이트로 변환하는 방법은 무엇입니까?

int 객체를 사용하면 동일한 값을 바이트 형식으로 나타낼 수 있습니다. 정수는 바이트를 나타내며, 배열의 시작이나 끝에 MSB(최상위 숫자)가 저장된 배열로 저장됩니다.

방법 1: int.tobytes()



int 값은 메소드를 사용하여 바이트로 변환될 수 있습니다. int.to_bytes(). 이 메서드는 int 값에서 호출되며 실행을 위해 Python 2(최소 Python3 필요)에서 지원되지 않습니다.

카잘 아가르왈

통사론: int.to_bytes(길이, 바이트순서)

인수 :



length – 원하는 배열 길이(바이트)입니다.

byteorder – int를 바이트로 변환하는 배열의 순서입니다. byteorder는 다음 중 하나의 값을 가질 수 있습니다. 작은 가장 중요한 비트는 끝에 저장되고 가장 작은 비트는 시작 부분에 저장됩니다. 여기서 MSB는 시작 부분에 저장되고 LSB는 끝 부분에 저장됩니다.

예외:



정수 값 길이가 배열 길이에 비해 충분히 크지 않은 경우 OverflowError가 반환됩니다.

다음 프로그램은 Python에서 이 메서드의 사용법을 보여줍니다.

파이썬3




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

>

>

산출

b'x00x05'>

파이썬3

ml에서 온스로




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

>

>

산출

b'
x00x00x00x00'>

방법 2: 정수를 문자열로, 문자열을 바이트로 변환

쉐타 티와리

이 접근 방식은 Python 버전 2와 3 모두에서 호환됩니다. 이 방법은 배열의 길이와 바이트 순서를 인수로 사용하지 않습니다.

자바 정수를 문자열로
  • 10진수 형식으로 표현된 정수 값은 먼저 str() 함수를 사용하여 문자열로 변환할 수 있습니다. 이 함수는 해당 문자열로 변환할 정수 값을 인수로 사용합니다.
  • 그런 다음 해당 문자열은 각 문자에 대해 원하는 표현, 즉 문자열 값을 인코딩하여 선택하여 바이트 시퀀스로 변환됩니다. 이는 str.encode() 메소드에 의해 수행됩니다.

파이썬3




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

>

>

산출

b'5'>