字串的編碼,有很多種如utf-8,gb2312,gbk,gb18030,bz2,zlib,big5,bzse64
python 對編碼的處理有兩個方法,decode()和 encode()方法
1
2
3
4
a
=
'你好'
b
=
'python'
print
a.decode(
'utf-8'
).encode(
'gbk'
)
##decode方法把字串轉換為unicode物件,然後通過encode方法轉換為指定的編碼字串物件
print
b.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'
>>>
print
unicode
(s,
'big5'
)
瘞遊ㄥ
>>>
print
unicode
(s,
'gbk'
)
姘村
6
>>>
print
unicode
(s,
'gb2312'
)
姘村
6
>>>
print
unicode
(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 編碼 ...