Python でバイト文字列を整数に変換する
Python では、バイト文字列を整数に変換する必要があるシナリオに遭遇することがあります。整数。この変換に取り組む方法の内訳は次のとおりです。
方法 1: from_bytes を使用する
Python バージョン 3.2 以降の場合、int.from_bytes メソッドは、この変換を実行します:
<code class="python">int_from_bytes = int.from_bytes(byte_string, byteorder='big') # or for little-endian byte order: int_from_bytes = int.from_bytes(byte_string, byteorder='little')</code>
「byteorder」パラメータは、バイト文字列のエンディアンネス (「big」または「little」) を指定します。
方法 2: ビット操作
モジュールのインポートを必要としないビット操作アプローチを希望する場合は、次のコードを使用できます:
<code class="python">int_from_bytes = sum( (ord(byte) << (i * 8)) for i, byte in enumerate(byte_string[::-1]) )</code>
このメソッドはバイトを逆順に反復処理します。各バイト値に 2 の累乗を乗算して累積整数を作成します。
メソッドの比較
どちらのメソッドも効率的ですが、次の場合は 'from_bytes' メソッドをお勧めします。そのシンプルさと多用途性。ただし、依存関係のインポートが心配な場合は、ビット操作のアプローチがよりコンパクトな代替手段となります。
モジュールのインポートに関する注意
モジュールのインポートはパフォーマンスに影響を与える可能性があります。特にインポートプロセスが複数回繰り返される場合。この影響を最小限に抑えるには、必要なモジュールを最も内側のループの外側で 1 回だけインポートします。
以上がPython でバイト文字列を整数に変換するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。