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

小云云
リリース: 2017-12-18 09:17:47
オリジナル
6614 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!