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 17 Python
python超简单解决约瑟夫环问题
May 12 Python
python的多重继承的理解
Aug 06 Python
wxPython实现窗口用图片做背景
Apr 25 Python
python 字典 按key值大小 倒序取值的实例
Jul 06 Python
Python实现的网页截图功能【PyQt4与selenium组件】
Jul 12 Python
修改默认的pip版本为对应python2.7的方法
Nov 06 Python
python itchat给指定联系人发消息的方法
Jun 11 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
python requests模拟登陆github的实现方法
Dec 26 Python
python 实现在shell窗口中编写print不向屏幕输出
Feb 19 Python
Python改变对象的字符串显示的方法
Aug 01 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投票程序源码
2007/03/11 PHP
php递归法读取目录及文件的方法
2015/01/30 PHP
php中JSON的使用方法
2015/04/30 PHP
php实现网页端验证码功能
2017/07/11 PHP
yii2 url重写并隐藏index.php方法
2018/12/10 PHP
eval的两组性能测试数据
2012/08/17 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
js本地图片预览实现代码
2016/10/09 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
JS遍历DOM文档树的方法实例详解
2018/04/03 Javascript
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
2018/04/22 Javascript
如何解决.vue文件url引用文件的问题
2019/01/18 Javascript
python 将字符串中的数字相加求和的实现
2019/07/18 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
简历自荐信
2013/12/02 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
档案工作汇报材料
2014/08/21 职场文书
卖车协议书范例
2014/09/16 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
自我检讨报告
2015/01/28 职场文书
同学聚会通知短信
2015/04/20 职场文书
元宵节晚会主持词
2015/07/01 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript