python之分析decode、encode、unicode编码转换为汉字
decode()方法使用注册编码的编解码器的字符串进行解码。它默认为默认的字符串编码。decode函数可以将一个普通字符串转换为unicode对象。decode是将普通字符串按照参数中的编码格式进行解析,然后生成对应的unicode对象,比如在这里我们代码用的是utf-8,那么把一个字符串转换为unicode就是如下形式:s2=’哈’.decode(‘utf-8′),s2就是一个存储了’哈’字的unicode对象,其实就和unicode(‘哈’, ‘utf-8′)以及u’哈’是相同的。
例: str.decode(encoding=‘UTF-8‘,errors=‘strict‘)
参数
encoding -- 这是所使用的编码。
errors -- 这可能是给定一个不同的错误处理机制。默认的错误是“严格”,即编码错误提出UnicodeError。其他可能的值是ignore‘, ‘replace‘, ‘xmlcharrefreplace‘, ‘backslashreplace‘ 并通过codecs.register_error().注册的任何其他名称。
encode()方法正好就是相反的功能,是将一个unicode对象转换为参数中编码格式的普通字符,encode正好就是相反的功能,是将一个unicode对象转换为参数中编码格式的普通字符。
例: str.encode(encoding=‘UTF-8‘,errors=‘strict‘)
参数
encoding -- 这是所使用的编码。对于所有的编码方案的列表,请访问:标准编码库。
errors -- 这可能是给定一个不同的错误处理机制。默认的错误是“严格”,即编码错误提出UnicodeError。其他可能的值是ignore‘, ‘replace‘, ‘xmlcharrefreplace‘, ‘backslashreplace‘ 并通过codecs.register_error().注册的任何其他名称。
<pre name="code" class="python">'京东放养的爬虫'.decode('gbk') #输出u'\u4eac\u4e1c\u653e\u517b\u7684\u722c\u866b' --unicode编码
<pre name="code" class="python">
'京东放养的爬虫'#输出‘\xbe\xa9\xb6\xab\xb7\xc5\xd1\xf8\xb5\xc4\xc5\xc0\xb3\xe6‘ --gbk编码
</pre></p><p></p>如何将unicode编码转换为汉字,方法有几种,如下代码。<p><pre name="code" class="python"># coding:utf8 #python 将unicode编码转化为汉字 import json str = '\u4eac\u4e1c\u653e\u517b\u7684\u722c\u866b' #方法1 使用unicode_escape 解码 print str.decode('unicode_escape') print unicode(str, 'unicode_escape') #方法2:若为json 格式,使用json.loads 解码 print json.loads('"%s"' %str) #方法3:使用eval print eval('u"%s"' % str) #repr(...)在字符串外增加一对 'deng' -> "'deng'" # repr(object) -> string #eval(repr(object)) == object #方法4:使用python3
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。