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私有属性和方法实例分析
Jan 15 Python
Linux 发邮件磁盘空间监控(python)
Apr 23 Python
python将字典内容存入mysql实例代码
Jan 18 Python
python实现括号匹配的思路详解
Aug 23 Python
python实现录音小程序
Oct 26 Python
python for循环输入一个矩阵的实例
Nov 14 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
tensorflow-gpu安装的常见问题及解决方案
Jan 20 Python
解决keras模型保存h5文件提示无此目录问题
Jul 01 Python
python 基于DDT实现数据驱动测试
Feb 18 Python
PYTHON使用Matplotlib去实现各种条形图的绘制
Mar 22 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取得一个类的属性和方法的实现代码
2011/05/22 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
JavaScript prototype属性使用说明
2010/05/13 Javascript
理解Javascript_07_理解instanceof实现原理
2010/10/15 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
nodejs npm package.json中文文档
2014/09/04 NodeJs
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
js实现统计字符串中特定字符出现个数的方法
2016/08/02 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
JS中的算法与数据结构之列表(List)实例详解
2019/08/16 Javascript
js实现查询商品案例
2020/07/22 Javascript
[02:18]《我与DAC》之工作人员:为了热爱DOTA2的玩家们
2018/03/28 DOTA
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
基于Python测试程序是否有错误
2020/05/16 Python
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
智能室内花园:Click & Grow
2021/01/29 全球购物
化工工艺专业求职信
2013/09/22 职场文书
服务之星事迹材料
2014/05/03 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
Python基础知识学习之类的继承
2021/05/31 Python
用Java实现简单计算器功能
2021/07/21 Java/Android
python运算符之与用户交互
2022/04/13 Python