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

首頁 > 編程 > Python > 正文

python2 unicode str

2019-11-11 06:18:27
字體:
來源:轉載
供稿:網友

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之后寫入。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 突泉县| 莲花县| 漠河县| 南漳县| 华宁县| 马龙县| 渭南市| 中牟县| 高雄县| 松潘县| 壤塘县| 福海县| 白银市| 宾阳县| 顺义区| 大余县| 海门市| 东兰县| 永吉县| 洪泽县| 临沂市| 正镶白旗| 海安县| 应用必备| 贺州市| 乃东县| 惠来县| 旺苍县| 尚义县| 宜阳县| 辉南县| 林甸县| 弥渡县| 开封市| 岳阳市| 永州市| 黄冈市| 五河县| 门源| 那坡县| 邵阳县|