ascii --> unicode --> utf-8
在計算機內存中,統一使用Unicode編碼。當需要保存到硬盤或者需要傳輸的時候,可以轉換為UTF-8編碼。
1.Python的誕生比Unicode標準發布的時間還要早,所以最早的Python只支持ASCII編碼
Python內建的ord()和chr()函數,可以把字母和對應的數字相互轉換:
>>> ord('A')65>>> chr(65)'A'2.Python在后來添加了對Unicode的支持,以Unicode表示的字符串用u'...'表示
>>> u'中'u'/u4e2d'/u后面是十六進制的Unicode碼。
3.unicode --> utf-8
>>> u'ABC'.encode('utf-8')'ABC'>>> u'中文'.encode('utf-8')'/xe4/xb8/xad/xe6/x96/x87'英文字符轉換后表示的UTF-8的值和Unicode值相等(但占用的存儲空間變小,2個字節變為1個字節),而中文字符轉換后1個Unicode字符轉化為UTF-8字符后,兩個字節變為3個字節。用len()函數顯示,從1個字符長度變為3個字符。
>>> len(u'中')1>>> len(u'中'.encode('utf-8'))34.utf-8 --> unicode
>>> 'abc'.decode('utf-8')u'abc'>>> test = '/xe4/xb8/xad/xe6/x96/x87'.decode('utf-8')u'/u4e2d/u6587'>>> PRint test中文# -*- coding: utf-8 -*- 參考鏈接點我新聞熱點
疑難解答