国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

python2的編碼問題

2019-11-14 16:54:59
字體:
來源:轉載
供稿:網友

ascii --> unicode --> utf-8

  • ascii:最早的,容量最小的編碼方式。1個字節表示一個字符。
  • unicode:加入多國字符,一般是2個字節表示一個字符,偏僻字用4個字節。缺點:浪費存儲空間。
  • utf-8:為了解決浪費空間的問題,常用的英文字母被編碼成1個字節,漢字通常是3個字節,只有很生僻的字符才會被編碼成4-6個字節。

在計算機內存中,統一使用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'))3

4.utf-8 --> unicode

>>> 'abc'.decode('utf-8')u'abc'>>> test = '/xe4/xb8/xad/xe6/x96/x87'.decode('utf-8')u'/u4e2d/u6587'>>> PRint test中文

如何保存文件

  • 保存:Python源代碼也是一個文本文件,所以,當你的源代碼中包含中文的時候,在保存源代碼時,就需要務必指定保存為UTF-8編碼。
  • 讀取:當Python解釋器讀取源代碼時,為了讓它按UTF-8編碼讀取,我們通常在文件開頭(第一行或第二行)寫上這一行行# -*- coding: utf-8 -*- 參考鏈接點我

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资阳市| 南阳市| 六枝特区| 临颍县| 竹北市| 开鲁县| 卢龙县| 西华县| 宁城县| 恩平市| 清水河县| 沂南县| 云林县| 东安县| 双流县| 丽江市| 马尔康县| 收藏| 军事| 清水河县| 湾仔区| 北辰区| 湖北省| 新闻| 吐鲁番市| 西城区| 上栗县| 安平县| 永德县| 碌曲县| 积石山| 惠安县| 噶尔县| 吉首市| 西平县| 洪江市| 桦甸市| 德清县| 保山市| 洪江市| 长治市|