Python 編碼轉換

2021-06-12 07:19:48 字數 1521 閱讀 5227

# coding: utf-8

s = 'abc'

print type(s) # str(utf-8)

print len(s) # 3

s = unicode(s) # str -> unicode,其中str的每個字元值必須小於128

print type(s) # unicode

print len(s) # 3

s = u'abc'

print type(s) # unicode

print len(s) # 3

s = s.encode('utf-8') # unicode -> str(utf-8)

print type(s) # str

print len(s) # 3

s = s.decode('utf-8') # str(utf-8) -> unicode,這裡str的每個字元值任意

print type(s) # unicode

print len(s) # 3

s = '中國' # 由於整個檔案以utf-8編碼

print type(s) # str(utf-8)

print len(s) # 6

s = u'中國'

print type(s) # unicode

print len(s) # 2

s = s.encode('utf-8')

print type(s) # str(utf-8)

print len(s) # 6

s = s.decode('utf-8')

print type(s) # unicode

print len(s) # 2

s = raw_input(u'輸入:') # windows下貌似中文按gbk編碼,每個中文佔2個位元組

print type(s) # str(gbk)

print len(s) # 4

s = s.decode('gbk') # 要想gbk編碼轉為utf-8編碼,先將gbk編碼轉為unicode

print type(s) # unicode

print len(s) # 2

s = s.encode('gbk')

print type(s) # str(gbk)

print len(s) # 4

# 根據以上的驗證,得出結論

# 各種編碼都可以通過unicode來轉化,unicode可以假想為一張各種字元的對照表,在這個表中可以找到世界範圍內的任何一種字元

# 當然,也包括中文,每個字元都對應乙個序號,如'a' -> 0x61,'中' -> 0x4e2d

# unicode -> utf-8 unicode.encode('utf-8')

# utf-8 -> unicode str.decode('utf-8')

# gbk -> unicode str.decode('gbk')

# unicode -> gbk unicode.encode('gbk')

python編碼轉換

參見 主要介紹了python的編碼機制,unicode,utf 8,utf 16,gbk,gb2312,iso 8859 1 等編碼之間的轉換。常見的編碼轉換分為以下幾種情況 1.自動識別字串編碼 coding utf8 import urllib import chardet rawdata ur...

python 編碼轉換

主要介紹了python的編碼機制,unicode,utf 8,utf 16,gbk,gb2312,iso 8859 1 等編碼之間的轉換。常見的編碼轉換分為以下幾種情況 可以使用 chardet 模組自動識別 字元創編碼 chardet 使用方法 例如 a為unicode編碼 要轉為gb2312。a...

Python 編碼轉換

coding utf 8 s abc print type s str utf 8 print len s 3 s unicode s str unicode,其中str的每個字元值必須小於128 print type s unicode print len s 3 s u abc print ty...