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高并发异步服务器核心库forkcore使用方法
Nov 26 Python
详解Python中__str__和__repr__方法的区别
Apr 17 Python
在Python的Bottle框架中使用微信API的示例
Apr 23 Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 Python
Python实现将Excel转换成为image的方法
Oct 23 Python
python 定时任务去检测服务器端口是否通的实例
Jan 26 Python
python的移位操作实现详解
Aug 21 Python
Python Pandas 对列/行进行选择,增加,删除操作
May 17 Python
python中如何进行连乘计算
May 28 Python
python多线程semaphore实现线程数控制的示例
Aug 10 Python
详解python tkinter 图片插入问题
Sep 03 Python
详解Django的MVT设计模式
Apr 29 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语言中使用JSON和将json还原成数组的方法
2016/07/19 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
jquery通过ajax加载一段文本内容的方法
2015/01/15 Javascript
JavaScript中getUTCSeconds()方法的使用详解
2015/06/11 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
用C++封装MySQL的API的教程
2015/05/06 Python
python使用正则表达式提取网页URL的方法
2015/05/26 Python
Python基于Tkinter的HelloWorld入门实例
2015/06/17 Python
python的slice notation的特殊用法详解
2019/12/27 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
Python和Bash结合在一起的方法
2020/11/13 Python
美国领先的在线邮轮旅游公司:CruiseDirect
2018/06/07 全球购物
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
华为菲律宾官方网站:HUAWEI Philippines
2021/02/23 全球购物
应届毕业生求职信范例分享
2013/12/17 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
毕业生找工作自荐书
2014/06/30 职场文书
验房委托书
2014/08/30 职场文书
安徽导游词
2015/02/12 职场文书
物业保洁员岗位职责
2015/02/13 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
经理岗位职责范本
2015/04/15 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android