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的Django框架中的表单处理示例
Jul 17 Python
深入探究Django中的Session与Cookie
Jul 30 Python
浅谈Python使用Bottle来提供一个简单的web服务
Dec 27 Python
python实现两个文件合并功能
Apr 01 Python
python爬取个性签名的方法
Jun 17 Python
Python OpenCV实现鼠标画框效果
Aug 19 Python
基于pytorch的保存和加载模型参数的方法
Aug 17 Python
linux下python中文乱码解决方案详解
Aug 28 Python
OpenCV+face++实现实时人脸识别解锁功能
Aug 28 Python
Python装饰器使用你可能不知道的几种姿势
Oct 25 Python
从0到1使用python开发一个半自动答题小程序的实现
May 12 Python
Python 使用双重循环打印图形菱形操作
Aug 09 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
实现在同一方法中获取当前方法中新赋值的session值解决方法
2014/06/26 PHP
Yii实现简单分页的方法
2016/04/29 PHP
分享php多功能图片处理类
2016/05/15 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
实例讲解php实现多线程
2019/01/27 PHP
onpropertypchange
2006/07/01 Javascript
一些不错的js函数ajax
2008/08/20 Javascript
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
利用jquery实现瀑布流3种案例
2016/09/18 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
深入理解JavaScript 参数按值传递
2017/05/24 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
2017/09/11 jQuery
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
vuex如何重置所有state(可定制)
2019/01/17 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
Node.js使用MongoDB的ObjectId作为查询条件的方法
2019/09/10 Javascript
python3.5仿微软计算器程序
2020/03/30 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
一年级学生期末评语
2014/04/21 职场文书
养成教育经验材料
2014/05/26 职场文书
服务整改报告
2014/11/06 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
mysql在项目中怎么选事务隔离级别
2021/05/25 MySQL
Django与数据库交互的实现
2021/06/03 Python
Golang 实现 WebSockets 之创建 WebSockets
2022/04/24 Golang