ホームページ >バックエンド開発 >Python チュートリアル >Python 3 でバイトを 16 進文字列に効率的に変換したり、逆に変換したりするにはどうすればよいですか?

Python 3 でバイトを 16 進文字列に効率的に変換したり、逆に変換したりするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-17 21:59:02385ブラウズ

How Can I Efficiently Convert Bytes to Hex Strings and Back in Python 3?

Python 3 でのバイトの 16 進数文字列への変換

Python 3 でバイトを扱う場合、バイトを 16 進数文字列に変換するのが一般的なタスクになることがあります。 。さまざまなアプローチが利用可能であるにもかかわらず、一部の方法では望ましい結果が得られない場合があります。

最新のソリューション: .hex()

Python 3.5 では、この変換を簡素化する専用メソッド bytes.hex() が導入されました。

>>> b'\xde\xad\xbe\xef'.hex()
'deadbeef'

このメソッドは、バイトの 16 進表現を返します。

変換の逆変換

16 進文字列をバイトに戻すには、 bytes.fromhex( ):

>>> bytes.fromhex('deadbeef')
b'\xde\xad\xbe\xef'

このメソッドは 16 進文字列を受け入れ、バイト配列を返します。変換では、bytes 型と bytearray 型の両方がサポートされます。

追加の考慮事項

このメソッドは文字列ではなくバイナリ データに対して動作することに注意してください。文字列がある場合は、たとえば bytes(string, 'utf-8') を使用して、最初にバイトにエンコードする必要がある場合があります。

以上がPython 3 でバイトを 16 進文字列に効率的に変換したり、逆に変換したりするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。