1. 程式人生 > >Python str 與 bytes 型別(Python2/3 對 str 的處理)

Python str 與 bytes 型別(Python2/3 對 str 的處理)

本文均在 Python 3 下測試通過,python 2.x 會略有不同。

1. str/bytes

>> s = '123'
>> type(s)
str

>> s = b'123'
bytes

2. str 與 bytes 之間的型別轉換

str 與 bytes 之間的型別轉換如下:

  • str ⇒ bytes:bytes(s, encoding='utf8')
  • bytes ⇒ str:str(b, encoding='utf-8')

此外還可通過編碼解碼的形式對二者進行轉換,

  • str 編碼成 bytes 格式:str.encode(s)
  • bytes 格式編碼成 str 型別:bytes.decode(b)

3. strings 分別在 Python2、Python 3下

Python 2 將 strings 處理為原生的 bytes 型別,而不是 unicode,
Python 3 所有的 strings 均是 unicode 型別。