python中将\\\\uxxxx转换为Unicode字符串的方法

作者:渔父歌 时间:2023-11-04 15:20:07 

今天碰到一个很有意思的问题,需要将普通的 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")

来源:https://www.jianshu.com/p/c318e7d4cbe4

标签:python,Unicode字符串,\\uxxxx
0
投稿

猜你喜欢

  • 学习JavaScript设计模式之中介者模式

    2024-04-17 10:07:57
  • python中string模块各属性以及函数的用法介绍

    2023-12-07 13:49:47
  • django框架使用orm实现批量更新数据的方法

    2023-08-11 04:48:25
  • ASP 内建六大对象简介

    2009-06-04 18:08:00
  • python下的opencv画矩形和文字注释的实现方法

    2022-12-26 22:27:17
  • sqlserver中如何查询出连续日期记录的代码

    2011-09-30 11:16:56
  • asp随机获取access数据库中的一条记录

    2007-08-15 13:11:00
  • SQL Report Builder 报表里面的常见问题分析

    2024-01-23 19:10:47
  • 如何在 IE 中使用 HTML5 元素

    2009-06-14 19:44:00
  • 详解微信小程序中的页面代码中的模板的封装

    2024-04-29 13:40:35
  • 使用python处理题库表格并转化为word形式的实现

    2023-07-25 12:33:18
  • java-jsp springmvc-controller 传值到页面的方法

    2023-06-16 18:19:52
  • PyTorch读取Cifar数据集并显示图片的实例讲解

    2021-03-24 11:07:55
  • MySQL常用命令与内部组件及SQL优化详情

    2024-01-17 12:50:41
  • Python包装之对象处理

    2022-10-15 07:01:33
  • vue切换页面(路由)时如何保持滚动条回到顶部

    2024-05-28 15:54:49
  • 实例讲解SQL Server加密功能

    2024-01-24 04:05:15
  • 匿名函数的写法

    2010-01-06 13:32:00
  • vue watch监控对象的简单方法示例

    2024-05-05 09:11:00
  • 银行账号输入格式化, 支持部分浏缆器

    2007-09-26 18:27:00
  • asp之家 网络编程 m.aspxhome.com