python中将\\uxxxx转换为Unicode字符串的方法


Posted in Python onSeptember 06, 2018

今天碰到一个很有意思的问题,需要将普通的 Unicode字符串转换为 Unicode编码的字符串,如下:

将 \\u9500\\u552e 转化为 \u9500\u552e 也就是 销售 。

乍一看感觉挺简单的,用 re 库将前面的反斜杠去掉即可,但是在替换的过程中会抛出如下错误:

Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
    re.sub(r"(\)\u", r'', t)
  File "D:\Python36\lib\re.py", line 191, in sub
    return _compile(pattern, flags).sub(repl, string, count)
  File "D:\Python36\lib\re.py", line 301, in _compile
    p = sre_compile.compile(pattern, flags)
  File "D:\Python36\lib\sre_compile.py", line 562, in compile
    p = sre_parse.parse(p, flags)
  File "D:\Python36\lib\sre_parse.py", line 855, in parse
    p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
  File "D:\Python36\lib\sre_parse.py", line 416, in _parse_sub
    not nested and not items))
  File "D:\Python36\lib\sre_parse.py", line 765, in _parse
    p = _parse_sub(source, state, sub_verbose, nested + 1)
  File "D:\Python36\lib\sre_parse.py", line 416, in _parse_sub
    not nested and not items))
  File "D:\Python36\lib\sre_parse.py", line 502, in _parse
    code = _escape(source, this, state)
  File "D:\Python36\lib\sre_parse.py", line 362, in _escape
    raise source.error("incomplete escape %s" % escape, len(escape))
sre_constants.error: incomplete escape \u at position 3

大概意思就是去掉前面的反写杠之后剩下的 \u 不能组成完整的字符。

到这里问题好像有点难以解决了,这时候我们会放弃吗?

当然不会,到谷歌上搜一下,发现还真有人碰到过这个问题,解决方法也是十分的巧妙。

竟然还可以使用 json 库的 loads 方法 ...

解决方法如下:

import json
s = '\\u9500\\u552e'
print(json.loads(f'"{s}"'))

PS:python3 将字符串unicode转换为中文

记录一个经常会遇到的问题:

得到的文本打印出来是“\uxxxx”的字符串格式,在python3中使用text.decode('unicode_escape')会报错:‘str' object has no attribute 'decode'

正确的姿势是:

text.encode('utf-8').decode("unicode_escape")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python获取远程图片大小和尺寸的方法
Mar 26 Python
python通过elixir包操作mysql数据库实例代码
Jan 31 Python
网易2016研发工程师编程题 奖学金(python)
Jun 19 Python
numpy.random.shuffle打乱顺序函数的实现
Sep 10 Python
python安装scipy的步骤解析
Sep 28 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
Nov 15 Python
python创建学生成绩管理系统
Nov 22 Python
python 实现提取log文件中的关键句子,并进行统计分析
Dec 24 Python
使用python的pyplot绘制函数实例
Feb 13 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
May 19 Python
如何通过一篇文章了解Python中的生成器
Apr 02 Python
Python json模块dumps、loads操作示例
Sep 06 #Python
Python 字符串换行的多种方式
Sep 06 #Python
Python使用logging模块实现打印log到指定文件的方法
Sep 05 #Python
Python使用try except处理程序异常的三种常用方法分析
Sep 05 #Python
python使用__slots__让你的代码更加节省内存
Sep 05 #Python
Python中__slots__属性介绍与基本使用方法
Sep 05 #Python
python使用xlrd和xlwt读写Excel文件的实例代码
Sep 05 #Python
You might like
PHP新手上路(十三)
2006/10/09 PHP
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
php jsonp单引号转义
2014/11/23 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
2019/05/28 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
IE iframe的onload方法分析小结
2010/01/07 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
使用vue编写一个点击数字计时小游戏
2016/08/31 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
JavaScript数组_动力节点Java学院整理
2017/06/26 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
vue.js 实现点击展开收起动画效果
2018/07/07 Javascript
inquirer.js一个用户与命令行交互的工具详解
2019/05/18 Javascript
[44:10]2018DOTA2亚洲邀请赛 4.5 淘汰赛 EG vs VP 第一场
2018/04/06 DOTA
Python的设计模式编程入门指南
2015/04/02 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
Python中存取文件的4种不同操作
2018/07/02 Python
Python走楼梯问题解决方法示例
2018/07/25 Python
Python中拆分字符串的操作方法
2019/07/23 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
python爬虫多次请求超时的几种重试方法(6种)
2020/12/01 Python
详解利用canvas实现环形进度条的方法
2019/06/12 HTML / CSS
校园之声广播稿
2014/01/31 职场文书
大学运动会入场词
2014/02/22 职场文书
留学经费担保书
2014/05/12 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
失恋33天观后感
2015/06/11 职场文书
企业法人代表证明书
2015/06/18 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
写好求职信的技巧解密
2019/05/14 职场文书