python中的字元編碼

Python中有 位元組字元串 和 unicode字元串 兩種,一個位元組字元串就是一個包含位元組的列表。Python在Mac OS上默認編碼是UTF-8,在其他上則多半是ASCII。位元組字元串:bytestring = "hello world"unicode字元串:unicodestring = u"hello world"將位元組字元串轉為unicode:s = bytestring.decode()將unicode再轉回位元組字元串:b = s.encode()basestring 為通用字元串類,str和unicode均屬於basestringunicode字元串的type為basestring 或者 unicode,即isinstance(s, basestring)和isinstance(s, unicode) 均會返回True

s = "hello normal string" #位元組字元串u = s.decode("UTF-8" ) #s被當成一個utf-8去創建一個unicode字元串ubackToBytes = u.encode( "UTF-8" ) #u這個unicode被用utf-8的方式編碼為一個新的字 #節字元串backToBytes

現在,位元組字元串s就被當成一個UTF-8位元組列表去創建一個Unicode字元串u, 下一行用UTF-8表示的字元串u轉換成位元組字元串backToBytes.


推薦閱讀:

屁牌兼容1位元組ASCII、2位元組陸港台日常用、單碼最多3位元組、全覆蓋Unicode編碼
字元編碼(四)|python2中的編碼問題
字元編碼學習筆記

TAG:字元編碼 | 編碼 | 字元 |