python笔记6-%u60A0和\u60a0类似unicode解码
前言
有时候从接口的返回值里面获取到的是类似"%u4E0A%u6D77%u60A0%u60A0"这种格式的编码,不是python里面的unicode编码。
python里面的unicode编码应该是这种格式:\u4e0a\u6d77\u60a0\u60a0
unicode编码-python2
1.先看下python的unicode编码:\u60a0,这个是\u开头的,里面的英文是小写
# coding:utf-8
# 前面加u可以直接打印中文
a = u"\u4e0a\u6d77\u60a0\u60a0"
print(a)
# 字符串需decode成默认unicode编码
b = r"\u4e0a\u6d77\u60a0\u60a0"
print(b.decode("unicode_escape"))
2.如果在字符串前面加个u,意思是转化成unicode编码,如果获取到的是应该字符串原型,那就需要decode解码成unicode编码,python里面默认的unicode编码名称是unicode_escape
替换%-python2
1.如果是这种带%的编码,先替换成,这样就是unicode编码了,虽然里面的英文字符是大小,还好这里不区分大小写。
# coding:utf-8
c = "%u4E0A%u6D77%u60A0%u60A0"
# 解决办法一:替换%
d = c.replace("%", "\\")
print(d.decode('unicode_escape'))
解决办法二:unichr
1.先切割成单个字符,再用unichr转换成中文,再连成字符串,这个有点复杂了
# coding:utf-8
def switch_to_ch(f):
'''转换成中文'''
g = f.split("%u")[1:]
h = [''+unichr(int(i, 16)) for i in g]
return "".join(h)
if __name__ == "__main__":
f = "%u4e0a%u6d77%u60a0%u60a0"
ch = switch_to_ch(f)
print(ch)
python3解码
1.python3默认的编码就是unicode,这个跟python2还不太一样,如果直接给字符串decode会报错:AttributeError: 'str' object has no attribute 'ecode'

2.python3先encode成utf-8编码,再decode成默认的unicode就可以了

3.代码参考
# coding:utf-8
c = "%u4E0A%u6D77%u60A0%u60A0"
# python3解决办法:替换%
d = c.replace("%", "\\")
print(d.encode("utf-8").decode("unicode_escape"))
python自动化交流 QQ群:779429633
python笔记6-%u60A0和\u60a0类似unicode解码的更多相关文章
- python笔记之常用模块用法分析
python笔记之常用模块用法分析 内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像 ...
- boost.python笔记
boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...
- python笔记之subprocess模块
python笔记之subprocess模块 [TOC] 从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如 os.system.os.spaw ...
- python笔记之Cmd模块
python笔记之Cmd模块 Cmd类型提供了一个创建命令行解析器的框架,默认情况下,它使用readline来进行交互式操作.命令行编辑和命令完成. 使用cmd创建的命令行解释器循环读取输入的所有行并 ...
- s21day16 python笔记
s21day16 python笔记 一.模块 1.1 模块的定义 模块的定义 可以吧一个py文件或一个文件夹(包)当作一个模块,以便于以后其他py文件的调用 包的定义(python2与python3的 ...
- guxh的python笔记一:数据类型
1,基本概念 1.1,数据类型 基本数据类型:字符串,数字,布尔等 引用数据类型:相对不可变(元组),可变(列表,字典,集合等) 基本数据类型存放实际值,引用数据类型存放对象的地址(即引用) ==:判 ...
- s21day12 python笔记
s21day12 python笔记 一.函数中高级 1.1 函数可以做返回值 #示例: def func(): print(123) def bar(): return func v = bar() ...
- s21day04 python笔记
s21day04 python笔记 一.上周知识回顾及补充 回顾 补充 编译型语言和解释性语言 编译型:代码写完后,编译器将其变成成另外一个文件,然后交给计算机执行 常见的编译型语言:C,C++,Ja ...
- s21day02 python笔记
s21day02 python笔记 一.昨日内容回顾及补充 内容回顾 补充 if条件语句嵌套 10086示例 pycharm更改解释器 python3.7解释器 python2.7解释器 二.循环语句 ...
随机推荐
- HTTP协议头注射漏洞实例
HTTP 响应头文件中包含未经验证的数据会引发 cache-poisoning.cross-site scripting.cross-user defacement.page hijacking.co ...
- Nginx 虚拟目录和虚拟主机的配置
nginx.conf 配置文件的几个常用命令 nginx 配置文件主要分为六个区域: main: 全局设置 events: nginx工作模式 http: http设置 sever: 主机设置 loc ...
- JavaScript 兼容性总结
请实现鼠标点击任意标签,alert该标签的名称(注意兼容性) function elementName(evt){ evt = evt|| window.event; var selected = ...
- Asp.Net MVC4 之Url路由
先来看下面两个个url,对比一下: http://xxx.yyy.com/Admin/UserManager.aspx http://xxx.yyy.com/Admin/DeleteUser/1001 ...
- 解决 .net HttpClient 调用时出现的 "A task was cancelled" 错误
近日在系统中集成ElasticClient客户端,自动创建索引.删除索引,发现通过 ElasticClient 的 LowerLevelClient 无法正确返回结果,但是索引已成功创建或删除. 并会 ...
- 解决xshell4中文乱码
前言 在公司看到别人使用xshell后,由于之前一直使用SecureCRT所以心里一直痒痒的想换下xshell试下.于是在昨天晚上使用xshell,却被中文乱码折腾了很长时间以至于想放弃,最终灵光一现 ...
- 导出php5.4支持的数组格式,即以[]为标识符而不是以array()标识
//导出php数组,以[]为标识符而不是以array() if (!function_exists('varExport')) { //导出php数组,以[]为标识符而不是以array() funct ...
- SpringBoot学习(七)
静态资源处理 spring Boot 默认的处理方式就已经足够了,默认情况下Spring Boot 使用WebMvcAutoConfiguration中配置的各种属性. 建议使用Spring Boot ...
- 【BZOJ 3812】 3812: 主旋律 (容斥原理**)
3812: 主旋律 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 235 Solved: 196 Description 响应主旋律的号召,大家决定 ...
- Palindromic Tree 回文自动机-回文树 例题+讲解
回文树,也叫回文自动机,是2014年被西伯利亚民族发明的,其功能如下: 1.求前缀字符串中的本质不同的回文串种类 2.求每个本质不同回文串的个数 3.以下标i为结尾的回文串个数/种类 4.每个本质不同 ...