码迷,mamicode.com
首页 > 编程语言 > 详细

python字符编码与解码 unicode,str

时间:2017-07-18 01:50:55      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:ora   sci   unicode   color   文章   logs   lin   nic   类型   

字符编码

  计算机中的字符都是以特定的编码形式存放的,从最早的ascii到后来的Unicode以及UTF-8, 在python中, 字符串str也是是区分编码的,在各种编码的字符串之间,有一座桥梁,就是unicode类型

 

str, unicode

  str转到unicode需要解码,即decode;反之,unicode转到str需要编码,即encode:

  str              -- (decode) -->         unicode

  unicode     -- (encode) -->          str

  str也可以直接用encode方法把一种编码的str转到另外一种编码的str,其实表面上的直接转码还是经过了先解码后编码的过程,就是说:str.encode()等价于str.decode(sys.defaultencoding).encode(),sys.defaultencoding是python默认编码,一般是ascii编码。类似地,对于unicode类型,也有:unicode.decode()等价于unicode.encode(sys.defaultencoding).decode()

例子代码:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 # @Time    : 2017/7/17 22:09
 4 # @Author  : dswang
 5 
 6 import sys
 7 
 8 if __name__ == __main__:
 9     print sys.getdefaultencoding()
10     x = 
11     print type(x)
12     print repr(x)
13 
14     y = x.decode(utf-8)
15     print type(y)
16     print repr(y)
17 
18     z = y.encode(gb2312)
19     print type(z)
20     print repr(z)

结果为:

ascii
<type str>
\xe4\xb8\xa5
<type unicode>
u\u4e25
<type str>
\xd1\xcf

说明:文件头注释中的-*- coding: utf-8 -*-用来指明文件的编码方式为utf-8,代码中str的编码也默认为utf-8。

 

参考文章

【1】字符编码笔记:ASCII,Unicode和UTF-8 by 阮一峰

python字符编码与解码 unicode,str

标签:ora   sci   unicode   color   文章   logs   lin   nic   类型   

原文地址:http://www.cnblogs.com/tlz888/p/7198109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!