"bytes(n)"을 사용하여 바이트 문자열 생성
Python 3의 "bytes(n)" 함수는 문자열을 변환하지 않습니다. 정수를 이진 표현으로 변환하는 대신 널 바이트(b'x00')로 채워진 길이 n의 바이트 문자열을 생성합니다. 이 동작은 정수를 바이트로 인코딩하는 수단으로 "to_bytes()" 메서드가 도입된 Python 3.2에서 비롯되었습니다.
To_Bytes 및 To_Bytes
"to_bytes ()" 메서드를 사용하면 바이트 순서(빅 엔디안 또는 리틀 엔디안)와 길이를 지정하여 정수를 바이트 표현으로 명시적으로 변환할 수 있습니다. 예:
<code class="python">(1024).to_bytes(2, byteorder='big') == b'\x04\x00'</code>
From_Bytes 및 From_Bytes
보완적인 "from_bytes()" 메서드는 바이트 시퀀스를 다시 정수로 변환할 수 있습니다.
<code class="python">int.from_bytes(b'\x04\x00', 'big') == 1024</code>
부호 없는 정수
"to_bytes()" 메서드는 음수가 아닌(부호 없는) 정수에 작동합니다. 부호 있는 정수를 처리하려면 약간 다른 접근 방식이 필요합니다.
<code class="python">def int_to_bytes(number: int) -> bytes: return number.to_bytes(length=(8 + (number + (number < 0)).bit_length()) // 8, byteorder='big', signed=True) def int_from_bytes(binary_data: bytes) -> Optional[int]: return int.from_bytes(binary_data, byteorder='big', signed=True)</code>
이러한 함수를 사용하면 부호 있는 정수를 바이트 시퀀스로 인코딩하고 디코딩할 수 있습니다.
위 내용은 Python에서 정수를 바이트 문자열로 변환하고 다시 되돌리려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!