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中实现三目运算的方法
Jun 21 Python
使用Python对Access读写操作
Mar 30 Python
Python绘制七段数码管实例代码
Dec 20 Python
简单了解python模块概念
Jan 11 Python
python3实现SMTP发送邮件详细教程
Jun 19 Python
python: 判断tuple、list、dict是否为空的方法
Oct 22 Python
Python 3.6 -win64环境安装PIL模块的教程
Jun 20 Python
Python学习笔记之函数的定义和作用域实例详解
Aug 13 Python
Linux下通过python获取本机ip方法示例
Sep 06 Python
基于python的列表list和集合set操作
Nov 24 Python
Django 允许局域网中的机器访问你的主机操作
May 13 Python
教你用python控制安卓手机
May 13 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 array_push 数组函数
2009/12/26 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
使用javascript实现json数据以csv格式下载
2015/01/09 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
使用iojs的jsdom库实现同步系统时间
2015/04/20 Javascript
手机端转盘抽奖代码分享
2015/09/10 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
2015/10/17 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
vue组件 $children,$refs,$parent的使用详解
2017/07/31 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
python logging模块的使用
2020/09/07 Python
python使用numpy中的size()函数实例用法详解
2021/01/29 Python
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
在Ajax应用中信息是如何在浏览器和服务器之间传递的
2016/05/31 面试题
童装店创业计划书
2014/01/09 职场文书
师范大学生求职信
2014/06/13 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB