關於python中的編碼問題

2021-06-28 02:49:02 字數 1638 閱讀 3389

字串的編碼,有很多種如utf-8,gb2312,gbk,gb18030,bz2,zlib,big5,bzse64

python 對編碼的處理有兩個方法,decode()和 encode()方法

1

2

3

4

a='你好'

b='python'

printa.decode('utf-8').encode('gbk')##decode方法把字串轉換為unicode物件,然後通過encode方法轉換為指定的編碼字串物件

printb.decode('utf-8')##decode方法把字串轉換為unicode物件

所以要讓python(或者說機器)來識別字串的編碼,是一件很困難的事。編碼就是漢字和整數之間的對應,同乙個整數,可以在不同的編碼中,都有對應的漢字。比如下面的例子,位元流'\xe6\xb0\xb4\xe5\xa3\xb6'在四種編碼中都有對應的漢字,但只有在utf-8編碼下,它對應的漢字才有意義。我們可以一眼看出這點,可是要讓計算機做到這點,就很難了。

1

2

3

4

5

6

7

8

9

10

11

>>> s='水壺'

>>> s

18:'\xe6\xb0\xb4\xe5\xa3\xb6'

>>>printunicode(s,'big5')

瘞遊ㄥ

>>>printunicode(s,'gbk')

姘村6

>>>printunicode(s,'gb2312')

姘村6

>>>printunicode(s,'utf-8')

水壺

python中的編碼問題

在python中遇到編碼問題主要來自於ascii和gbk兩個方面。win中python為unicode編碼而控制台一般為gbk編碼 ascii 對於ascii來說,是由於這一編碼系統的顯示導致其無法編碼中文和特殊字元,所以需要在開始宣告 使用utf 8編碼.或者在 開頭著名 coding utf 8...

Python中的編碼問題

花了點時間研究了一下python中的編碼問題,在python2.的版本中存在著以下兩種字串的型別 python字串中的str型別和unicode型別 因此,同樣是 編碼 兩個漢字,分別用str型別和unicode型別儲存時對應的type完全不一樣,以下是他們賦值操作的區別 str型別和unicode...

關於程式設計中的編碼問題

對於我們開發的過程中 一直喜歡 用utf 8 為什麼呢 因為屬於國際化 gb 2312 俗稱國標碼 主要是中國在用 支援漢字 英文本母 a html view plain copy 位元組數 1 編碼 gb2312 位元組數 1 編碼 gbk 位元組數 1 編碼 gb18030 位元組數 1 編碼 ...