對Python中字串編碼的理解

2021-08-26 23:35:43 字數 1451 閱讀 2034

字串,作為python中基本資料型別中的一種,也是使用最頻繁的資料型別。這裡對字串的編碼格式做乙個總結。

在python中字串有兩種形式:一種是bytes型別,一種是str型別。

str ->

>

bytes:encode編碼

bytes

->

> str:decode解碼

可以使用下圖這種理解方式:

1.1引數

1.2示例:

bingdemacbook-pro:~ bingyao$ python3

python 3.6

.2 (v3.6.2:5fd33b5926, jul 16

2017, 20:11:06)

[gcc 4.2

for more information.

>>> text="文字"

>>> text

'文字'

>>> # 編碼

... en_text = text.encode()

>>> en_text

b'\xe6\x96\x87\xe6\x9c\xac'

>>> # 解碼

... de_text = en_text.decode()

>>> de_text

'文字'

>>>

注意點:

如果需要選定編碼方式(type引數),編碼方式解碼方式必須一樣,否則就會出現亂碼

示例:

bingdemacbook-pro:~ bingyao$ python3

python 3.6

.2 (v3.6.2:5fd33b5926, jul 16

2017, 20:11:06)

[gcc 4.2

for more information.

>>> text = "文字"

>>> text

'文字'

>>>

>>>

>>> # 編碼使用utf-8,預設就是utf-8

... en_text = text.encode("utf-8")

>>> en_text

b'\xe6\x96\x87\xe6\x9c\xac'

>>>

>>>

>>> # 解碼使用gbk

... de_text = en_text.decode("gbk")

>>> de_text

'鏂囨湰'

通過上面的示例可以看到,如果使用的解碼方式和編碼方式不配會出現亂碼的現象

Python 中的字串編碼

異常處理在之前的學習中我們一直沒有接觸過。哦對,我們甚至還不知道怎麼向程式輸入一段字串。那麼我們在這裡提供乙個小例子。在命令列中,我們輸入 好了,我們已經知道如何輸入乙個字串了,那麼當我們輸入 s raw input enter something 之後按回車,然後,我們按下 ctrl d 這時,我...

Python字串編碼

在python中有些特殊的地方是存在兩種字串,分別為str和unicode字串,他們都繼承自basestring。如 s hello world s為str us u hello world us為unicode。使用help str 和help unicode 可以檢視各自說明,他們都有decod...

python字串編碼

常見字元編碼型別 ascii 美國資訊交換標準碼,是目前計算機中最廣泛使用的字符集編碼。每個 ascii 碼以 1 個位元組 儲存,例如數字字元 0 的 ascii 碼是 0110000,十進位制表示為 48。unicode 為解決世界上上百種語言帶來混合 衝突,各國有各國的標準,顯示很容易出現亂碼...