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

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

python2 unicode str

2019-11-14 08:58:45
字體:
來源:轉載
供稿:網友

unicode

unicode是一種編碼方案, utf-8是unicode的一種實現方式。

Python2 編碼

In [1]: a = '啊哈哈'In [2]: aOut[2]: '/xe5/x95/x8a/xe5/x93/x88/xe5/x93/x88'In [4]: type(a)Out[4]: strIn [5]: len(a)Out[5]: 9In [6]: b = u'姚赫赫'In [7]: type(b)Out[7]: unicodeIn [8]: len(b)Out[8]: 3In [9]: a.decode('utf-8')Out[9]: u'/u554a/u54c8/u54c8'In [10]: bOut[10]: u'/u59da/u8d6b/u8d6b'In [11]: b.encode('utf-8')Out[11]: '/xe5/xa7/x9a/xe8/xb5/xab/xe8/xb5/xab'In [12]: c = '姚赫赫'In [13]: cOut[13]: '/xe5/xa7/x9a/xe8/xb5/xab/xe8/xb5/xab'In [14]: import sysIn [15]: sys.getdefaultencoding()Out[15]: 'ascii'In [16]: b + c---------------------------------------------------------------------------UnicodeDecodeError Traceback (most recent call last)<ipython-input-16-c6b7c7e5694f> in <module>()----> 1 b + cUnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)In [17]: import sysIn [18]: relaod(sys)---------------------------------------------------------------------------NameError Traceback (most recent call last)<ipython-input-18-f73449e725b6> in <module>()----> 1 relaod(sys)NameError: name 'relaod' is not definedIn [19]: reload(sys)<module 'sys' (built-in)>In [20]: sys.setdefaultencoding('utf-8')In [21]: b + cOut[21]: u'/u59da/u8d6b/u8d6b/u59da/u8d6b/u8d6b'In [22]: type(b + c)Out[22]: unicode

python2 中a='啊哈哈', a的類型是str, 是編碼后的字節序列。a的長度是字節數;而b的類型是unicode(存儲文本字符串), b的長度是字符數。

相互轉化

str –>decode(‘utf-8’) –> unicode unicode –>encode(‘utf-8’)–> str 寫入文件的時候str類型的可以直接寫入,unicode類型的必須encode之后寫入。


上一篇:2017/02/04

下一篇:P1074 靶形數獨(TLE 75)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赫章县| 永州市| 嘉鱼县| 金堂县| 伊春市| 婺源县| 伊金霍洛旗| 昌都县| 彭山县| 鄂伦春自治旗| 永年县| 留坝县| 高安市| 龙山县| 华阴市| 甘德县| 英吉沙县| 孟村| 长寿区| 沙坪坝区| 宜川县| 大庆市| 庐江县| 崇明县| 大田县| 凉城县| 枞阳县| 深圳市| 保靖县| 青岛市| 汪清县| 大城县| 锦州市| 内丘县| 静安区| 中西区| 北辰区| 抚州市| 威海市| 通渭县| 兴安盟|