Python 文字列の「b」接頭辞の重要性を理解する
Python ソース コードでは、小文字の ' が接頭辞として付けられた文字列が出現することがあります。 b'.この「b」は、バイト 文字列リテラルを表します。
バイトと Unicode
Python 3 では、文字列は主に Unicode オブジェクトです。 Unicode 文字列は、UTF-8、UTF-16、UTF-32 などの幅広い標準のコード ポイントを使用してテキスト文字を表します。
対照的に、Python の bytes オブジェクトはバイナリを表しますエンコードされたテキストを含むデータ。これらには、0 ~ 255 の範囲の整数のシーケンスが含まれており、基本的に生のデータ値を表します。
バイト オブジェクトの作成
バイト オブジェクトを作成するには、'b ' 文字列リテラルの前にプレフィックスを追加します:
<code class="python">b"abcdef"</code>
または、整数のシーケンスから、または Unicode 文字列をエンコードしてバイト オブジェクトを構築することもできます:
<code class="python">bytes([72, 101, 108, 108, 111]) bytesvalue = strvalue.encode('utf-8')</code>
デコードとエンコード
バイト オブジェクトから Unicode テキストを取得するには、decode() メソッドを使用します。
<code class="python">strvalue = bytesvalue.decode('utf-8')</code>
逆に、Unicode テキストをバイトに変換するには、encode() メソッドまたはbytes オブジェクト コンストラクター:
<code class="python">bytesvalue = strvalue.encode('utf-8') bytesvalue = bytes(strvalue, 'utf-8')</code>
エラー処理
decode() メソッドと encode() メソッドは両方とも、変換プロセス中のエラーを処理するためのオプションの引数を受け入れます。この引数は、無効な文字またはエンコーディングの問題を管理する方法を指定します。
Python 2 の互換性
Python 2 バージョン 2.6 および 2.7 は、文字列リテラルの接頭辞「b」もサポートしています。 Python 3 とのコード互換性を容易にするため。
不変性
Bytes オブジェクトは不変です。つまり、その内容は変更できません。バイナリ データの可変表現が必要な場合は、代わりに bytearray() オブジェクトを使用してください。
以上がPython 文字列の「b」プレフィックスは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。