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 获取 Linux 系统信息的代码
Jul 13 Python
初步讲解Python中的元组概念
May 21 Python
使用Django的模版来配合字符串翻译工作
Jul 27 Python
Python 判断 有向图 是否有环的实例讲解
Feb 01 Python
Python爬虫框架Scrapy基本用法入门教程
Jul 26 Python
python爬取cnvd漏洞库信息的实例
Feb 14 Python
python基于SMTP协议发送邮件
May 31 Python
PyTorch中Tensor的维度变换实现
Aug 18 Python
Python中使用gflags实例及原理解析
Dec 13 Python
基于Python中random.sample()的替代方案
May 23 Python
Django如何实现密码错误报错提醒
Sep 04 Python
浅谈Python基础之列表那些事儿
May 11 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 a simple smtp class
2007/11/26 PHP
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
第七章 php自定义函数实现代码
2011/12/30 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
php中最简单的字符串匹配算法
2014/12/16 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
Javascript实例教程(19) 使用HoTMetal(5)
2006/12/23 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
escape函数解决js中ajax传递中文出现乱码问题
2014/10/30 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
2016/06/09 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
Python网络爬虫中的同步与异步示例详解
2018/02/03 Python
caffe binaryproto 与 npy相互转换的实例讲解
2018/07/09 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
python 读取数据库并绘图的实例
2019/12/03 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
python 爬取小说并下载的示例
2020/12/07 Python
CSS3实现时间轴特效
2020/11/02 HTML / CSS
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
电气工程师岗位职责
2014/01/01 职场文书
初三家长会邀请函
2014/01/18 职场文书
工作疏忽检讨书
2014/01/25 职场文书
《微笑着面对生活》优秀演讲稿范文
2014/09/23 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
护士医德医风心得体会
2016/01/25 职场文书