week02_python内蔵データ構造_bytes、bytearray
bytes、bytearray
Python 3は2つの新しいタイプを導入しました.
bytes
バリアントバイトシーケンス
bytearray
バイト配列
可変
文字列とbytes
文字列は文字からなる秩序あるシーケンスであり、文字は符号化を用いて理解することができる.
bytesはバイトからなる秩序化された可変シーケンスである.
bytearrayはバイトからなる秩序化された可変シーケンスである.
コーディングとデコード
文字列は異なる文字セット符号化encodeに従ってバイトシーケンスbytesを返す
S.encode(encoding='utf-8', errors='strict') -> bytes
バイトシーケンスは、decodeが返す文字列を異なる文字セットで復号します.
bytes.decode(encoding='utf-8', errors='strict') -> str
bytearray.decode(encoding='utf-8', errors='strict') -> str
bytes定義:
bytesアクション:
bytearray定義
bytearray操作
操作:
例:
Python 3は2つの新しいタイプを導入しました.
bytes
バリアントバイトシーケンス
bytearray
バイト配列
可変
文字列とbytes
文字列は文字からなる秩序あるシーケンスであり、文字は符号化を用いて理解することができる.
bytesはバイトからなる秩序化された可変シーケンスである.
bytearrayはバイトからなる秩序化された可変シーケンスである.
コーディングとデコード
文字列は異なる文字セット符号化encodeに従ってバイトシーケンスbytesを返す
S.encode(encoding='utf-8', errors='strict') -> bytes
バイトシーケンスは、decodeが返す文字列を異なる文字セットで復号します.
bytes.decode(encoding='utf-8', errors='strict') -> str
bytearray.decode(encoding='utf-8', errors='strict') -> str
bytes定義:
bytes() bytes
bytes(int) bytes, 0
bytes(iterable_of_ints) -> bytes [0,255] int
bytes(string,encoding[,errors]) -> bytes string.encode()
bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer
buffer bytes
b
ASCII b'abc9'
16 b'\x41\x61'
bytesアクション:
str , , 。 bytes , bytes, bytes
In [1]: b'abcdef'.replace(b'f',b'k')
Out[1]: b'abcdek'
In [2]: b'abc'.find(b'b')
Out[2]: 1
bytes.fromhex(string):
string 2 16 ,‘6162 6a 6b’,
In [3]: bytes.fromhex('6162 09 6a 6b00')
Out[3]: b'ab\tjk\x00'
hex()
16
In [4]: 'abc'.encode().hex()
Out[4]: '616263'
In [6]: b'abcdef'[2]
Out[6]: 99
,int
bytearray定義
bytearray() bytearray
bytearray(int) bytearray, 0
bytearray(iterable_of_ints) -> bytearray [0,255] int
bytearray(string,encoding[,errors]) -->bytearray string.encode(),
bytearray(bytes_or_buffer) buffer bytearray
,b bytes
bytearray操作
bytes
In [1]: bytearray(b'abcdef').replace(b'f',b'k')
Out[1]: bytearray(b'abcdek')
In [2]: bytearray(b'abc').find(b'b')
Out[2]: 1
bytearray.fromhex(string)
string 2 16 ,'6162 6a 6b',
In [3]: bytearray.fromhex('6162 09 6a 6b00')
Out[3]: bytearray(b'ab\tjk\x00')
hex()
16
In [5]: bytearray('abc'.encode()).hex()
Out[5]: '616263'
In [6]: bytearray(b'abcdef')[2]
Out[6]: 99
,int
操作:
append(int)
insert(index,int)
extend(iterable_of_ints) bytearray
pop(index=-1) ,
remove(value) value , ValueError
, int , [0,255]
clear() bytearray
reverse() bytearray,
例:
In [1]: b = bytearray()
In [2]: b.append(97)
In [3]: b.append(99)
In [4]: b
Out[4]: bytearray(b'ac')
In [5]: b.insert(1,98)
In [6]: b
Out[6]: bytearray(b'abc')
In [7]: b.extend([65,66,67])
In [8]: b
Out[8]: bytearray(b'abcABC')
In [9]: b.remove(66)
In [10]: b
Out[10]: bytearray(b'abcAC')
In [11]: b.pop()
Out[11]: 67
In [12]: b.reverse()
In [13]: b
Out[13]: bytearray(b'Acba')
In [14]: b.clear()
In [15]: b
Out[15]: bytearray(b'')