Python3 はテキスト データとバイナリ データを区別します。テキストは Unicode エンコード、str 型で表示に使用されます。バイナリ型はバイト型で、保存と送信に使用されます。 bytes はバイトのシーケンスであり、str は Unicode のシーケンスです。この記事ではPythonのstring型、bytes型、bytearray型を中心に紹介しますので、必要な方は参考にしていただければ幸いです。
1. str 型:
>>> s = u'你好' >>> s '你好' >>> type(s) <class 'str'>
bytes 型:
>>> b = b'abc' >>> b b'abc' >>> type(b) <class 'bytes'>
2. str と bytes の変換関係: str-->encode()-->gt;bytes-- > ;decode()-->str
変換方法 1:encode()、decode()
>>> a = u'你好' >>> b = a.encode('utf-8') >>> b b'\xe4\xbd\xa0\xe5\xa5\xbd' >>> type(b) <class 'bytes'> >>> new_a = b.decode('utf-8') >>> new_a '你好' >>> type(new_a) <class 'str'>
変換方法 2:bytes()、str()
>>> a = u'你好' >>> b= bytes(a, encoding='utf-8') >>> b b'\xe4\xbd\xa0\xe5\xa5\xbd' >>> type(b) <class 'bytes'> >>> new_a = str(b, encoding='utf-8') >>> new_a '你好' >>> type(new_a) <class 'str'>
3 つ。 type
bytearray クラスは、0
オプションのsource引数は、いくつかの異なる方法で配列を初期化するために使用できます:
• 文字列の場合は、エンコーディング(およびオプションでエラー)引数も指定し、 str を使用する必要があります。 encode() は文字列をバイトに変換します。
• 整数の場合、配列はこのサイズになり、null バイトで初期化されます。
•バッファインターフェイスに準拠したオブジェクトの場合、バイト配列はオブジェクトの読み取り専用バッファを使用して初期化されます。
• 反復可能な場合は、0 • 引数がない場合は、サイズ 0 の配列創造された。
ソースパラメータが文字列の場合:
>>> b = bytearray(u'你好', encoding='utf-8') >>> b bytearray(b'\xe4\xbd\xa0\xe5\xa5\xbd') >>> type(b) <class 'bytearray'>
ソースパラメータが整数の場合:
>>> b = bytearray(5) >>> b bytearray(b'\x00\x00\x00\x00\x00') >>> type(b) <class 'bytearray'>
ソースパラメータが反復可能オブジェクトの場合、この反復可能オブジェクトの要素は次のようにする必要があります。 0
>>> b = bytearray([1, 2, 3, 4, 255]) >>> b bytearray(b'\x01\x02\x03\x04\xff') >>> type(b) <class 'bytearray'
4 に準拠します。 bytes と bytearray
bytes の違いは str と同様に不変です。 bytearray は list と同じ変数です。
>>> b = bytearray() >>> b bytearray(b'') >>> b.append(10) >>> b bytearray(b'\n') >>> b.append(100) >>> b bytearray(b'\nd') >>> b.remove(100) >>> b bytearray(b'\n') >>> b.insert(0, 150) >>> b bytearray(b'\x96\n') >>> b.extend([1, 3, 5]) >>> b bytearray(b'\x96\n\x01\x03\x05') >>> b.pop(2) 1 >>> b bytearray(b'\x96\n\x03\x05') >>> b.reverse() >>> b bytearray(b'\x05\x03\n\x96') >>> b.clear() >>> b bytearray(b'')
5. bytes と bytearray の変換
>>> b = b'abcdef' >>> bay = bytearray(b) >>> bay bytearray(b'abcdef') >>> b = bytes(bay) >>> b b'abcdef'
6. bytearray と str の変換
>>> a = 'abcdef' >>> b = bytearray(a, encoding='utf-8') >>> b bytearray(b'abcdef') >>> a = b.decode(encoding='utf-8') >>> a 'abcdef'
関連する推奨事項:
いくつかの種類の numpy 配列についての簡単な説明Sort by_python
以上がPythonの文字列、バイト、バイト配列型の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。