国产探花免费观看_亚洲丰满少妇自慰呻吟_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 -*- 參考鏈接點我

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 诸城市| 容城县| 天镇县| 南平市| 沙田区| 定襄县| 水城县| 龙胜| 蕉岭县| 澜沧| 怀远县| 深泽县| 南陵县| 肃宁县| 福州市| 苏尼特右旗| 稷山县| 怀来县| 盐亭县| 东台市| 广西| 康定县| 大同市| 泰宁县| 姚安县| 富蕴县| 清水河县| 都昌县| 裕民县| 左贡县| 大埔县| 灵璧县| 新化县| 洪江市| 辛集市| 涪陵区| 谢通门县| 专栏| 青阳县| 林甸县| 浦北县|