Python에서 바이트 문자열을 정수로 변환하는 방법
Python에서 바이트 문자열을 정수로 변환하는 방법은 다양한 방법을 사용하여 수행할 수 있습니다. 일부 메소드는 다른 메소드보다 더 나은 성능을 제공합니다.
내장 함수: int.from_bytes()
Python 버전 3.2 이상에서는 직접 변환할 수 있습니다. int.from_bytes() 함수를 사용하여 바이트 문자열을 정수로 변환합니다:
<code class="python">my_int = int.from_bytes(b'y\xcc\xa6\xbb', byteorder='big')</code>
여기서 byteorder는 바이트 문자열의 엔디안을 지정하기 위해 'big' 또는 'little'일 수 있습니다. 빅엔디안은 최상위 바이트가 먼저 저장된다는 의미이고, 리틀엔디안은 최하위 바이트가 먼저 저장된다는 의미입니다.
이진 표현 사용
또 다른 접근 방식은 다음과 같습니다. 바이트 문자열을 이진 표현으로 변환한 다음 int() 함수를 적용합니다.
<code class="python">my_int = int(''.join(format(byte, '08b') for byte in b'y\xcc\xa6\xbb'[::-1]), 2)</code>
이 방법은 int.from_bytes()보다 느리지만 이진 데이터로 작업해야 하는 경우 유용할 수 있습니다.
사용자 정의 함수
바이트 문자열을 정수로 변환하는 사용자 정의 함수를 만들 수도 있습니다.
<code class="python">def convert_bytes_to_int(byte_string, endianness='big'): if endianness == 'big': return sum(ord(c) << (i * 8) for i, c in enumerate(byte_string)) else: return sum(ord(c) << (len(byte_string) - i - 1) * 8 for i, c in enumerate(byte_string))</code>
성능 비교
이러한 다양한 방법의 성능은 바이트 문자열의 길이와 엔디안에 따라 달라질 수 있습니다. 일반적으로 int.from_bytes()가 가장 빠른 방법이고, 이진 표현 방법, 사용자 정의 함수 순입니다.
위 내용은 Python에서 바이트 문자열을 정수로 변환하는 방법: 어떤 방법이 가장 좋습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!