ホームページ  >  記事  >  バックエンド開発  >  Python の組み込みバイト関数の詳細な紹介

Python の組み込みバイト関数の詳細な紹介

高洛峰
高洛峰オリジナル
2017-03-21 11:20:331774ブラウズ

英語のドキュメント:

class bytes([source[, encoding[, errors]]])

integerの不変シーケンスであるnew “bytes” objectを返します range 0 <= x < 256 の s は、bytearray の不変バージョンです。同じ非変更メソッドと同じインデックス付けおよびスライス動作を持ちます。

したがって、コンストラクター引数は bytearray の場合と同様に解釈されます。 ().

説明:

1. 戻り値は、新しい変更不可能なバイト配列

配列 の範囲内である必要があります。これは、bytearray 関数 と同じ動作をします。違いは、返されたバイト配列のみを変更することはできません。

2. 3 つのパラメータのいずれも渡されない場合、長さ 0 のバイト配列が返されます

>>> b = bytes()
>>> b
b''
>>> len(b)
0</a></p> 3. ソースパラメータが <p style="text-align: left;">string<a href="http://www.php.cn/wiki/57.html" target="_blank"> の場合、エンコーディングパラメータも指定する必要があり、関数はstr. encodeメソッドでバイト配列に変換</a></p>
<pre class="brush:php;toolbar:false">>>> bytes('中文') #需传入编码格式
Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    bytes('中文')
TypeError: string argument without an encoding
>>> bytes('中文','utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
4. ソースパラメータが整数の場合は、その整数で指定された長さの空のバイト配列が返されます

>>> bytes(2)
b'\x00\x00'
>>> bytes(-2) #整数需大于0,用于做数组长度
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    bytes(-2)
ValueError: negative count
5. ソースパラメータが

オブジェクトの場合バッファインターフェースを実装するオブジェクトを使用すると、バイトは読み取り専用モードでバイト配列に読み込まれ、返されます

6. ソースパラメータが反復可能オブジェクトの場合、この反復可能オブジェクトの要素は以下に準拠する必要があります。 0
>>> bytes([1,2,3])
b'\x01\x02\x03'
>>> bytes([256,2,3])
Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    bytes([256,2,3])
ValueError: bytes must be in range(0, 256)
7. 返された配列は変更できません

>>> b = bytes(10)
>>> b
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>>> b[0]
>>> b[1] = 1 #不可修改
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    b[1] = 1
TypeError: 'bytes' object does not support item assignment
>>> b = bytearray(10)
>>> b
bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
>>> b[1] = 1 #可修改
>>> b
bytearray(b'\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00')

以上がPython の組み込みバイト関数の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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