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编程中的命名空间与作用域
Oct 16 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
Dec 21 Python
便捷提取python导入包的属性方法
Oct 15 Python
Python+OpenCV实现图像融合的原理及代码
Dec 03 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
Apr 01 Python
通过PYTHON来实现图像分割详解
Jun 26 Python
对django views中 request, response的常用操作详解
Jul 17 Python
python绘图模块matplotlib示例详解
Jul 26 Python
Python使用指定字符长度切分数据示例
Dec 05 Python
python pptx复制指定页的ppt教程
Feb 14 Python
python GUI模拟实现计算器
Jun 22 Python
如何基于Python pygame实现动画跑马灯
Nov 18 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使用pack处理二进制文件的方法
2014/07/03 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
2018/05/11 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
jquery拖拽效果完整实例(附demo源码下载)
2016/01/14 Javascript
js a标签点击事件
2017/03/30 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
javascript开发实现贪吃蛇游戏
2020/07/31 Javascript
Python简单实现控制电脑的方法
2018/01/22 Python
python如何为创建大量实例节省内存
2018/03/20 Python
python3判断url链接是否为404的方法
2018/08/10 Python
Pycharm配置远程调试的方法步骤
2018/12/17 Python
pycharm 安装JPype的教程
2019/08/08 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
IRO美国官网:法国服装品牌
2018/03/06 全球购物
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
学生安全教育材料
2014/02/14 职场文书
大学计划书范文800字
2014/08/14 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
婚庆主持词大全
2015/06/30 职场文书
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript
React配置子路由的实现
2021/06/03 Javascript
纯html+css实现打字效果
2021/08/02 HTML / CSS
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript