ホームページ  >  記事  >  バックエンド開発  >  Pythonの文字列、バイト、バイト配列型の詳しい説明

Pythonの文字列、バイト、バイト配列型の詳しい説明

小云云
小云云オリジナル
2017-12-18 09:17:476583ブラウズ

Python3 はテキスト データとバイナリ データを区別します。テキストは Unicode エンコード、str 型で表示に使用されます。バイナリ型はバイト型で、保存と送信に使用されます。 bytes はバイトのシーケンスであり、str は Unicode のシーケンスです。この記事ではPythonのstring型、bytes型、bytearray型を中心に紹介しますので、必要な方は参考にしていただければ幸いです。

1. str 型:

 >>> s = u'你好'
 >>> s
 '你好'
 >>> type(s)
 <class &#39;str&#39;>

bytes 型:

 >>> b = b'abc'
 >>> b
 b'abc'
 >>> type(b)
 <class &#39;bytes&#39;>

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 &#39;bytes&#39;>
 >>> new_a = b.decode('utf-8')
 >>> new_a
 '你好'
 >>> type(new_a)
 <class &#39;str&#39;>

変換方法 2:bytes()、str()

 >>> a = u'你好'
 >>> b= bytes(a, encoding='utf-8')
 >>> b 
 b'\xe4\xbd\xa0\xe5\xa5\xbd'
 >>> type(b)
 <class &#39;bytes&#39;>
 >>> new_a = str(b, encoding='utf-8')
 >>> new_a
 '你好'
 >>> type(new_a)
 <class &#39;str&#39;>

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 &#39;bytearray&#39;>

ソースパラメータが整数の場合:

 >>> b = bytearray(5)
 >>> b
 bytearray(b'\x00\x00\x00\x00\x00')
 >>> type(b)
 <class &#39;bytearray&#39;>

ソースパラメータが反復可能オブジェクトの場合、この反復可能オブジェクトの要素は次のようにする必要があります。 0

 >>> b = bytearray([1, 2, 3, 4, 255])
 >>> b
 bytearray(b'\x01\x02\x03\x04\xff')
 >>> type(b)
 <class &#39;bytearray&#39;

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言語で最大連続部分列を記述して

Pythonを完全マスター

以上がPythonの文字列、バイト、バイト配列型の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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