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().注册的任何其他名称。
# 将unicode编码转换为汉字,前边带u的
str = u'\u4eac\u4e1c\u653e\u517b\u7684\u722c\u866b'
print(str.encode('utf-8'))
print(str.encode('utf-8'),type(str))
#运行结果
# 京东放养的爬虫
# ('\xe4\xba\xac\xe4\xb8\x9c\xe6\x94\xbe\xe5\x85\xbb\xe7\x9a\x84\xe7\x88\xac\xe8\x99\xab', <type 'unicode'>)
str2='京东放养的爬虫'
uu=str2.decode('utf-8')
print(uu)
print(uu,type(uu))
#运行结果
# 京东放养的爬虫
# (u'\u4eac\u4e1c\u653e\u517b\u7684\u722c\u866b', <type 'unicode'>)
print('--------------------------')
# 将unicode编码转换为汉字,前边不带u的
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))
问题:
将u'\u810f\u4e71'转换为'\u810f\u4e71'
方法:
s_unicode = u'\u810f\u4e71'
s_str = s_unicode.encode('unicode-escape').decode('string_escape')
print(s_str)
print(type(s_unicode),type(s_str))
#运行结果
# \u810f\u4e71
# (<type 'unicode'>, <type 'str'>)
python之分析decode、encode、unicode编码转换的更多相关文章
- C#中文和UNICODE编码转换
C#中文和UNICODE编码转换 //中文轉為UNICODE string str = "中文"; string outStr = ""; if (!strin ...
- 转换编码,将Unicode编码转换成可以浏览的utf-8编码
//转换编码,将Unicode编码转换成可以浏览的utf-8编码 public function unicodeDecode($name) { $pattern = '/([\w]+)|(\\\u([ ...
- Qt中文编码和QString类Unicode编码转换
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/g423tgl234/article ...
- Unicode编码转换, MD5加密,URL16进制加密解密
一.站长网址:http://www.msxindl.com/ 1.Unicode与中文互转 16进制Unicode编码转换.还原 :http://www.msxindl.com/tools/uni ...
- Java用native2ascii命令做unicode编码转换
背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码.原因是java ...
- Java实现 中文转换成Unicode编码 和 Unicode编码转换成中文
想要实现中文字符转换为Unicode编码的话主要用到的是一个这样的包,自己可以去API文档里面查看下的 java.util.Properties; 直接进入主题吧,主要是 package Test01 ...
- java 中文转换成Unicode编码和Unicode编码转换成中文
转自:一叶飘舟 http://blog.csdn.net/jdsjlzx/article/details/ package lia.meetlucene; import java.io.IOExcep ...
- Python如何将字符和Unicode编码转变
小小总结一下,以防过几天忘记,自己的复习资料,如果能帮到大家,也是有所作用!! 1,字符转化为Unicode编码方法: ord("字符") ord("A") o ...
- Unicode编码转换汉字
Uri.UnescapeDataString(string) #region Unicode转换汉字 Console.WriteLine(Uri.UnescapeDataString("\u ...
随机推荐
- listview中的adapter学习小结
概述 Adapter是数据和UI之间的一个桥梁,在listview,gridview等控件中都会使用到,android给我们提拱了4个adapte供我们使用: BaseAdapter是一个抽象类,继承 ...
- Oracle表空间和表的常用操作指令
查看端口号指令 netstat –a 设置: set pagesize 100; //设置每页显示的行数set linesize 200; //设置每页显示的字符数 空格也算col 列名A for a ...
- Orcale 存储过程实践总结
由于项目中用到存储过程,这两天把存储过程方面的知识简单回顾了一下并分享给大家. 编写第一个存储过程 create or replace procedure ky_proc_in_out(para3 i ...
- Javascript、CSS、HTML面试题
1 JS中的三种弹出式消息提醒(警告窗口.确认窗口.信息输入窗口)的命令是什么? alert confirm prompt 2声明一个已经存在一个CSS有几种方式? 1.导入一个已经存 ...
- 修改访问的后缀contant
设置Struts 2处理的请求后缀及Action调用 1.在struts2中默认处理的请求后缀为action,我们可以修改struts.xml 和struts.properties来修改默认的配置,在 ...
- 基于JS的WEB会议室预订拖拽式图形界面的实现
06年的一篇blog,转到这个博客上: 很早之前写的,后来由于这个功能模块取消,最终没有上线,所以与Server交互的那部分还没有写,不过那部分方案我也已经出来了,而且现在客户端这一部分已经通过了比较 ...
- Android版本分布数据源
先来Android官方数据地址:http://developer.android.com/intl/zh-cn/about/dashboards/index.html 友盟指数,这个对国内开发者比较有 ...
- printf("Hello 2018!");
月考 has Boom! 要全心准备期末考试,到年前是不能再看Blog了 新年加油!!! 不要感冒 :joy:
- Windows下配置vue的环境
最近在学习vue.js,希望前端能用vue来作为主要框架.这里记录一下NPM在Windows中安装过程. 下载安装 下载地址 下载v6.11.0 LTS稳定版. 在C盘创建nodejs目录,并进行安装 ...
- 【原创】整合Spring4+Hibernate4+Struts2时NullPointerException问题解决
1.开场白 相信SSH初学者肯定遇到过这个问题,但是又是百思不得其解,明白了之后就恍然大悟. 2.问题描述 程序实现过程是UserAction中调用UserService,UserService的实现 ...